JDBC 结构

简介: JDBC Java 应用通过 JDBC 连接到数据库执行有五步 Register the driver class Creating connection Creating statement Executing queries Closing connection DriverManager class DriverManager 类顾名思义,用来管理 driver。

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

目录
相关文章
|
11月前
|
SQL Java 关系型数据库
JDBC基础内容2
JDBC基础内容2
|
11月前
|
SQL Java 关系型数据库
JDBC基础内容
JDBC基础内容
|
29天前
|
SQL Java 数据库连接
|
2月前
|
存储 Java 数据库连接
JDBC(一)(1)
JDBC(一)(1)
19 0
|
2月前
|
SQL 存储 Java
JDBC(一)(2)
JDBC(一)(2)
14 0
|
2月前
|
监控 Java 数据库连接
JDBC(二)(2)
JDBC(二)(2)
11 0
|
2月前
|
SQL Java 关系型数据库
JDBC(二)(3)
JDBC(二)(3)
13 0
|
2月前
|
Java 数据库连接 数据库
JDBC(一)(3)
JDBC(一)(3)
11 0
|
2月前
|
SQL Java 关系型数据库
JDBC(二)(1)
JDBC(二)(1)
14 0
|
11月前
|
Java 数据库连接 数据库
JDBC知识【JDBC练习】第五章
JDBC知识【JDBC练习】第五章