资讯专栏INFORMATION COLUMN

Java知识点总结(JDBC-封装JDBC)

null1145 / 796人阅读

摘要:知识点总结封装知识点总结封装目录下新建一个文件,用于封装数据库连接信息把获取数据库连接对象和关闭连接的操作封装到这个类中读取和处理资源文件的信息只需要加载一次,所以写成静态代码块。

Java知识点总结(JDBC-封装JDBC)

@(Java知识点总结)[Java, JDBC]

封装JDBC

src目录下新建一个db.properties文件,用于封装数据库连接信息

把获取数据库连接对象和关闭连接的操作封装到 DBUtil 这个类中

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
 
public class DBUtil {
  static Properties pros; //读取和处理资源文件的信息
  
  static{ // 只需要加载一次,所以写成静态代码块。执行本类时,加载
    pros = new Properties();
    try {
     pros.load(Thread.currentThread().getContextClassLoader()
         .getResourceAsStream("db.properties"));
    } catch (IOException e) {
     e.printStackTrace();
    }
  }
 
  public static Connection getConn(){
    Connection conn = null;
    try {
     Class. forName(pros.getProperty("mysqlDriver"));
     conn = DriverManager.getConnection(pros.getProperty("mysqlUrl"),
         pros.getProperty( "mysqlUser"), pros.getProperty("mysqlPassword"));
    } catch (ClassNotFoundException | SQLException e) {
     e.printStackTrace();
    }
    return conn;
  }
  
  // 不建议把conn写为静态的全局变量,然后在方法中关闭
  public static void close(Connection conn){
    try {
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
  }
  
  public static void close(Statement stmt) {
    try {
     stmt.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
  }
  
  public static void close(PreparedStatement pstmt) {
    if (pstmt != null) {
     try {
       pstmt.close();
     } catch (SQLException e) {
       e.printStackTrace();
     }
    }
  }
  
  public void close(ResultSet rs) {
    try {
     rs.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
  }
  
  public static void commit(Connection conn) {
    if (conn != null) {
     try {
       conn.commit();
     } catch (SQLException e) {
       e.printStackTrace();
     }
    }
  }
  
  public static void rollback(Connection conn) {
    if (conn != null) {
     try {
       conn.rollback();
     } catch (SQLException e) {
       e.printStackTrace();
     }
    }
  }
  
  public static void setAutoCommit(Connection conn, boolean autoCommit) {
    if (conn != null) {
     try {
       conn.setAutoCommit(autoCommit);
     } catch (SQLException e) {
       e.printStackTrace();
     }
    }
  }
  
  
  //连接测试
  public static void main(String[] args) {
    if (DBUtil.getConn()!=null) {
     System.out.println("连接成功!");
     
    }
  }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71465.html

相关文章

  • Java识点总结JDBC-概要)

    摘要:知识点总结概要知识点总结简介为开发者使用数据库提供了统一的编程接口,它由一组类和接口组成主要在包中。跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。接口与特定数据库的连接会话,在连接上下文中执行语句并返回结果。 Java知识点总结(JDBC-概要) @(Java知识点总结)[Java, JDBC] 简介 JDBC(Java Database Connection)为Java...

    animabear 评论0 收藏0
  • 1、JDBC 2、DBUtils

    摘要:是访问数据库的标准规范提供了一种基准据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。在将此值发送到数据库时,驱动程序将它转换成一个类型值。例如值不支持中文,如果需要使用非英文字符,将进行转换。 01JDBC概念和数据库驱动程序 * A: JDBC概念和数据库驱动程序 * a: JDBC概述 * JDBC(Java Data...

    galaxy_robot 评论0 收藏0
  • Java识点总结JDBC-连接步骤及CRUD)

    摘要:知识点总结连接步骤及知识点总结连接数据库步骤依序关闭使用的对象连接操作加载对应驱动建立连接连接对象内部包含了对象,是一个远程连接。比较耗时这是对象管理的一个要点真正开发中,为了提高效率,都会使用连接池来管理连接对象张柏芝女张三执行结果 Java知识点总结(JDBC-连接步骤及CRUD) @(Java知识点总结)[Java, JDBC] 连接数据库步骤 showImg(https://s...

    hankkin 评论0 收藏0
  • Java识点总结JDBC-事务)

    摘要:隔离级别个等级的事务隔离级别,在相同的数据环境下,使用相同的输入,执行相同的工作,根据不同的隔离级别,可以导致不同的结果。不同事务隔离级别能够解决的数据并发问题的能力是不同的。 Java知识点总结(JDBC-事务) @(Java知识点总结)[Java, JDBC] 事务 事务基本概念 一组要么同时执行成功,要么同时执行失败的 SQL 语句。是数据库操作的一个执行单元! 事务开始于:...

    Zachary 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<