Java中与数据库交互的步骤
- 新建一个工程
- 导包,在工程中导入连接MySQL数据库所使用的jar包
- 连接数据库
- 数据的增删改查
我的环境
IntelliJ IDEA 、MySQL 5.7.22 、mysql-connector-java-5.1.45-bin.jar
下载jar包地址
导包
新建完一个Java项目后,就导入刚刚下载的jar包。
- 点击左上角的File->Project Strucure
- 点击Modules->左边的“+”选择“1 JARs or directories”
- 在文件夹中选择刚刚下载的jar包进行导入,完成后如下如所示
连接MySQL数据库
步骤
- 加载驱动
- 创建连接
代码如下:(可直接copy,只需改动相关数据库名)
import java.sql.*;
public class DBUtil {
public String username = "root";
public String password = "123456";
private String url="jdbc:mysql://localhost:3306/+"+"你的要连接的数据库名"+"+?useSSL=true&characterEncoding=utf-8";
/**
* 1. 实现数据库连接的方法
*/
public Connection getConn() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, username, password);
System.out.println("连接数据库成功.");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* 2. 释放数据库连接
*/
public void closeConn(ResultSet rs, PreparedStatement pstm, Connection conn) throws Exception {
if (rs != null) {
rs.close();
}
if (pstm != null) {
pstm.close();
}
if (conn != null) {
conn.close();
}
}
}
数据库的增删改查操作
步骤
-
获取刚刚创建的Connection对象
-
写sql语句
-
得到statement对象
-
执行sql语句,得到结果集
-
处理结果集
-
关闭资源
-
增加数据
DBUtil db = new DBUtil();
private Connection conn;
/*
插入数据
*/
@Override
public void insertUser(TeamWorker newUser) throws Exception {
Connection conn = db.getConn();
PreparedStatement pstm = null;
String sql_insert = "insert into teamworkerinfo(tb_pid,tb_pname,tb_ppsw) values(?,?,?)"; //sql语言
pstm = conn.prepareStatement(sql_insert);
//填充sql语句中的?
pstm.setString(1, newUser.getId());
pstm.setString(2, newUser.getName());
pstm.setString(3, newUser.getPwd());
//使用executeUpdate函数执行sql语句
int row = pstm.executeUpdate();
System.out.println("新增用户成功" + row + "行受到影响");
//释放对数据库的连接
db.closeConn(null, pstm, conn);
}
- 修改数据
DBUtil db = new DBUtil();
private Connection conn;
/*
从数据库中修改用户信息
*/
@Override
public void updateUser(String id, TeamWorker modUser) throws Exception {
Connection conn = db.getConn();
PreparedStatement pstm = null;
String sql_update = "update teamworkerinfo set tb_pname=?tb_ppsw=? where tb_pid=?";
pstm = conn.prepareStatement(sql_update);
pstm.setString(1,modUser.getName());
pstm.setString(2,modUser.getPwd());
pstm.setString(3,id);
int row = pstm.executeUpdate();
System.out.println("修改用户成功"+row+"行受到影响");
db.closeConn(null, pstm, conn);
}
- 删除数据
DBUtil db = new DBUtil();
private Connection conn;
/*
从数据表中删除用户信息
*/
@Override
public void deleteUser(String id) throws Exception {
Connection conn = db.getConn();
PreparedStatement pstm = null;
String sql_delete = "delete from teamworkerinfo where tb_pid=?";
pstm = conn.prepareStatement(sql_delete);
pstm.setString(1,id);
int row = pstm.executeUpdate();
System.out.println("删除用户成功"+row+"行受到影响");
db.closeConn(null, pstm, conn);
}
- 修改数据
DBUtil db = new DBUtil();
private Connection conn;
/*
从数据库中修改用户信息
*/
@Override
public void updateUser(String id, TeamWorker modUser) throws Exception {
Connection conn = db.getConn();
PreparedStatement pstm = null;
String sql_update = "update teamworkerinfo set tb_pname=?tb_ppsw=? where tb_pid=?";
pstm = conn.prepareStatement(sql_update);
pstm.setString(1,modUser.getName());
pstm.setString(2,modUser.getPwd());
pstm.setString(3,id);
int row = pstm.executeUpdate();
System.out.println("修改用户成功"+row+"行受到影响");
db.closeConn(null, pstm, conn);
}