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);
}