JAVA——Java操作MySQL数据库的简单工具类[CLASS:DatabaseUtil]

预备知识

Java连接MySQL数据库

源代码 

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

参考文章

暂无

发布了1348 篇原创文章 · 获赞 226 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/weixin_43272781/article/details/103948932