您的位置:首页 > 数据库

IDEA中JDBC的使用--完成对于数据库中数据的增删改查

2019-07-17 19:28 731 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_41514083/article/details/96349104

IDEA中JDBC的使用--完成对于数据库中数据的增删改查

1.在IDEA中新建一个项目

1.1点击右上角file,在new中选择project,在左侧选择Java项目,选择自己所安装的SDK包,点击next

1.2继续点击next

1.3决定项目的名字以及项目存放的文件夹,之后点击finish,完成项目的创建

2.进行各个类的编写

2.1右键点击所创建项目的src选择新建一个package

填入名字,完成新建

2.2编写用户类,完成对属性的封装,get和set方法的引入,对于构造方法的封装以及tostring方法的重写。在编写时,可以在定义完变量之后,在空白处右键点击,选择generate,可以比较轻松的完成多个函数的建立。
package jdbc01;
//实体类
public class User {
//对属性的封装
private int id;//用户ID
private String username;//用户名
private String password;//密码

//2.get and set

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
//3.构造方法

public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public User() {
}
public User(String username, String password) {
this.username = username;
this.password = password;
}
public User(String username) {
this.username = username;
}

https://4.toString()方法的重写

@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}

}

2.3编写工具类,使用jdbc分步骤连接数据库
package com.zhongruan;

import java.sql.*;

public class DBUtil {
private static String driver = “com.mysql.jdbc.Driver”;
private static String url = “jdbc:mysql://localhost:3306/java7?useSSL=true&characterEncoding=utf-8”;
private static String user = “root”;
private static String password = “123456”;

// 1. 获取驱动
static {
try {
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}}
// 2. 创建连接
public static Connection get_Conn() throws SQLException {
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功" + conn);
return conn;
}
// 3. 关闭连接
public static void get_CloseConn(ResultSet rs, PreparedStatement pstm, Connection conn) throws SQLException {
if(rs !=null){
rs.close();
}
if(pstm !=null){
pstm.close();
}
if(conn !=null){
conn.close();
}}
// 都叫白盒测试 / 单元测试
public static void main(String[] args) {
try {
get_Conn();
} catch (SQLException e) {
e.printStackTrace();
}}

}

2.4函数方法实现类的编写
package jdbc01;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class Jdbcdemo02 {
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;

//测试增加
public void addUser(User user){
try {
//1.获取连接
con = DBUtil.get_Con();

//2.获取存放sql语句的对象
pstm = con.prepareStatement("insert into tb_user(username,password) value(?,?)");

//3.填坑
pstm.setString(1,user.getUsername());
pstm.setString(2,user.getPassword());

//4.执行sql语句 并得到返回值
int i = pstm.executeUpdate();

//5.处理结果
if(i>0) {
System.out.println("增加成功");
}else  {
System.out.println("增加失败");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
//关闭连接
try {
DBUtil.get_CloseCon(null,pstm,con);
} catch (SQLException e) {
e.printStackTrace();
}}}
public void Query(){
try {
con = DBUtil.get_Con();

pstm =con.prepareStatement("select * from tb_user");
ResultSet rs = pstm.executeQuery();

//遍历结果
while(rs.next()){
System.out.println("用户ID:"+rs.getInt(1));
System.out.println("用户名:"+rs.getString(2));
System.out.println("用户密码:"+rs.getString(3));
}} catch (SQLException e) {
e.printStackTrace();
}finally {

if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}} else if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}}}}
public  void modUser(User user){
try {
con = DBUtil.get_Con();
pstm = con.prepareStatement("update tb_user set username ='"+ user.getUsername()
+"'where username='李四虎'");
int i = pstm.executeUpdate();
if(i>0) System.out.println("修改成功");
else System.out.println("修改失败");
} catch (SQLException e) {
e.printStackTrace();
}finally {
if(pstm!=null) {
try {
pstm.close();
} catch (SQLException e) {
e.printStackTrace();
}}else if(con!=null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}}}
}
public void delUser(User user){
try {
con = DBUtil.get_Con();
pstm = con.prepareStatement("delete  from tb_user where username='"+user.getUsername()+"'");
int i = pstm.executeUpdate();
if(i>0) System.out.println("删除成功");
else System.out.println("删除失败");
} catch (SQLException e) {
e.printStackTrace();
}finally {
if(pstm!=null) {
try {
pstm.close();
} catch (SQLException e) {
e.printStackTrace();
}}else if(con!=null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}}}
}
public  static  void  main(String[] args){
Jdbcdemo02 j2 = new Jdbcdemo02();
User user = new User();
int i = 0;
int m=1;
while(m==1){
System.out.println("------选项列表------");
System.out.println("1.遍历数据");
System.out.println("2.增加数据");
System.out.println("3.修改数据");
System.out.println("4.删除数据");
System.out.println("0.退出");
Scanner sc = new Scanner(System.in);
System.out.println("请输入选项:");
i = sc.nextInt();

switch (i){
case 1:j2.Query();m=1;break;
case 2:user = new User("李四虎","456456");j2.addUser(user);m=1;break;
case 3:user = new User("王五","456456");j2.modUser(user);m=1;break;
case 4:user = new User("王五");j2.delUser(user);m=1;break;
case 0:m=0;break;
default:m=1;System.out.println("请重新输入(0-4)");
}}

// User user = new User(3,“王五”,“456456”);
// j2.addUser(user);
// j2.modUser(user);
// j2.delUser(user);
// j2.Query();

}

}

3.项目结果展示

运行之后主菜单:

遍历数据截图:

添加数据截图:

添加之后的遍历截图:

由于这里是直接给定的添加的数据,没有完善可以自己输入的部分,后面的修改也是如此。

修改数据截图:

修改之后遍历截图:

删除截图:

删除之后遍历截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐