jdbcUtils 类是数据库连接与关闭操作,将其封装到这个类中。

    定义:

    1. private static String url = "jdbc:mysql://localhost:3306/tsgl?serverTimezone=
    2. UTC&characterEncoding=utf8&useUnicode=true&useSSL=true"; //url中的status为数据库库名
    3. private static String user = "root"; //数据库登陆账号
    4. private static String password = "abc123"; //数据库登陆密码
    5. private static Connection con = null;

    连接功能:

    1. public static Connection getConn() {
    2. try {
    3. // 1.注册驱动
    4. Class.forName("com.mysql.cj.jdbc.Driver");
    5. // 2.获取连接
    6. con = DriverManager.getConnection(url, user, password);
    7. } catch (Exception e) {
    8. e.printStackTrace();
    9. }
    10. return con;
    11. }

    有结果集关闭:

    1. ublic static void closeConn(Connection conn, Statement stmt, ResultSet rs){
    2. if(rs != null){
    3. try {
    4. rs.close();
    5. } catch (SQLException e) {
    6. e.printStackTrace();
    7. }
    8. rs = null;
    9. }
    10. if(stmt != null){
    11. try {
    12. stmt.close();
    13. } catch (SQLException e) {
    14. e.printStackTrace();
    15. }
    16. stmt = null;
    17. }
    18. if(conn != null){
    19. try {
    20. conn.close();
    21. } catch (SQLException e) {
    22. e.printStackTrace();
    23. }
    24. conn = null;
    25. }
    26. }

    有结果集关闭:

    1. public static void closeConn(Connection conn, Statement stmt){
    2. if(stmt != null){
    3. try {
    4. stmt.close();
    5. } catch (SQLException e) {
    6. e.printStackTrace();
    7. }
    8. stmt = null;
    9. }
    10. if(conn != null){
    11. try {
    12. conn.close();
    13. } catch (SQLException e) {
    14. e.printStackTrace();
    15. }
    16. conn = null;
    17. }
    18. }

    关于类 的调用:
    目前我所遇到的问题都是数据库操作的方法中一般需要调用该方法。
    举例

    1. public void changeAutor(int Id,String autor) {//修改作者名字
    2. Connection conn = null; //
    3. PreparedStatement stmt = null; //
    4. try {
    5. conn = jdbcUtils.getConn(); //conn用来接受getConn方法的结果
    6. String sql = "update book set autor = ? where id = ?";
    7. stmt = conn.prepareStatement(sql);
    8. stmt.setString(1, autor);
    9. stmt.setInt(2, Id);
    10. stmt.executeUpdate();
    11. } catch (SQLException e) {
    12. e.printStackTrace();
    13. }
    14. finally{
    15. jdbcUtils.closeConn(conn, stmt);
    16. }
    17. System.out.println("性别修改成功!!");
    18. }