预备知识
源代码
package club.zstuca.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DatabaseUtil {
// JDBC 驱动名及数据库 URL
private static String JDBC_DRIVER;
private static String DB_URL;
// 数据库的用户名与密码,需要根据自己的设置
private static String USERNAME;
private static String PASSWORD;
//SQL Connection Object
private static Connection conn = null;
//SQL Statement Object
private static Statement stmt = null;
private static PreparedStatement pstmt=null;
//SQL ResultSet Object
private static ResultSet rs=null;
/**
* static code quiet
*/
static {
// MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
//static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
//static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
// MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
//private static String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
//private static String DB_URL = "jdbc:mysql://localhost:3306/stzg?useSSL=false&serverTimezone=UTC";
JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
DB_URL = "jdbc:mysql://localhost:3306/stzg?useSSL=false&serverTimezone=UTC";
USERNAME = "stzg";
PASSWORD = "*****";
}
public static void createConnection() throws SQLException, ClassNotFoundException {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL,USERNAME,PASSWORD);
}
public static void createPreparedStatement(String sql_str, Object[] params) throws SQLException {
if(conn==null)
throw new NullPointerException();
pstmt = conn.prepareStatement(sql_str);
if(params!=null) {
for(int index=0;index<params.length;index++) {
pstmt.setObject(index+1, params[index]);
}
}
}
public static int getTotal(String sql_str, Object[] params) {
int state = -1;
try {
createConnection();
createPreparedStatement(sql_str, params);
state = pstmt.executeUpdate();
return state;
}catch(NullPointerException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return state;
}
public static int getTotal(String sql_str) {
return executeUpdate(sql_str, null);
}
public static int executeUpdate(String sql_str, Object[] params) {
int count = -1;
try {
createConnection();
createPreparedStatement(sql_str, params);
rs = pstmt.executeQuery();
if(rs.next()) {
count = rs.getInt(1);
}
}catch(NullPointerException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally {
try {
closeAll();
} catch (SQLException e) {
e.printStackTrace();
}
}
return count;
}
public static int executeUpdate(String sql_str) {
return executeUpdate(sql_str, null);
}
public static ResultSet executeQuery(String sql_str, Object[] params) {
try {
createConnection();
createPreparedStatement(sql_str, params);
rs = pstmt.executeQuery();
return rs;
}catch(NullPointerException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
public static ResultSet executeQuery(String sql_str) {
return executeQuery(sql_str, null);
}
public static ResultSet Pagination(String sql_str, int pagenum, int pagesize) {
return executeQuery(sql_str + " LIMIT ?,?" ,new Object[] {(pagenum - 1) * pagesize, pagesize});
}
public static void closeAll() throws SQLException {
if(rs!=null)rs.close();
if(stmt!=null)stmt.close();
if(pstmt!=null)pstmt.close();
if(conn!=null)conn.close();
}
}
学习资源
https://www.bilibili.com/video/av29086718/?p=29
参考文章
暂无