且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

JDBC 结构

更新时间:2022-08-14 15:58:36

JDBC

Java 应用通过 JDBC 连接到数据库执行有五步

  1. Register the driver class
  2. Creating connection
  3. Creating statement
  4. Executing queries
  5. Closing connection

DriverManager class

DriverManager 类顾名思义,用来管理 driver。主要有注册接口。getConnection 的时候用 DriverManager 当前的 classloader 尝试顺序加载注册的 driver,加载到哪个用那个。

Connection Interface

一个 connection 是一次应用和数据库的 session。也是 Statement, PreparedStatement, and DatabaseMetaData 的 factory。

管理这这次回话的提交,回滚,关闭连接。

PreparedStatement interface

provides methods to execute queries with the database. The statement interface is a factory of ResultSet

PreparedStatement 比 Statement 好的原因在于

  1. 提升性能
    执行 sql 分四步

    1. Parsing of sql query
    2. Compile this Query
    3. optimization of data acquisition path
    4. execute the query
      PreparedStatement 只需要做一次前三步,而 Statement 每次都要做前三步。
  2. 通过类型校验,escapse 特殊字符防止 sql 注入
public class JdbcTest {
    public static void main(String args[]) {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection con = DriverManager
                .getConnection("jdbc:oracle:thin:@localhost:1521:xe", "system", "oracle");
            PreparedStatement stmt = con.prepareStatement("insert into Emp values(?,?)");
            stmt.setInt(1, 101);
            stmt.setString(2, "Ratan");
            int i = stmt.executeUpdate();
            System.out.println(i + " records inserted");
            con.close();
        } catch (Exception e) {}
    }
}

参考资料
Java JDBC Tutorial - javatpoint