zoukankan      html  css  js  c++  java
  • JDBC API阐述

    JDBC API

    • JDBC API 是一系列的接口,它使得应用程序能够进行数据库联接,执行SQL语句,并且得到返回结果。

          

    Driver 接口

    • Java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现
    • 在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现

    1.加载与注册 JDBC 驱动

    • 加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名
    • DriverManager 类是驱动程序管理器类,负责管理驱动程序
    • 通常不用显式调用 DriverManager 类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver() 方法来注册自身的一个实例

    2.建立连接

    • 可以调用 DriverManager 类的 getConnection() 方法建立到数据库的连接
    • JDBC URL 用于标识一个被注册的驱动程序,驱动程序管理器通过这个 URL 选择正确的驱动程序,从而建立到数据库的连接。
    • JDBC URL的标准由三部分组成,各部分间用冒号分隔。
      • jdbc:<子协议>:<子名称>
      • 协议:JDBC URL中的协议总是jdbc
      • 子协议:子协议用于标识一个数据库驱动程序
      • 子名称:一种标识数据库的方法。子名称可以依不同的子协议而变化,用子名称的目的是为了定位数据库提供足够的信息

    3.访问数据库

    • 数据库连接被用于向数据库服务器发送命令和 SQL 语句,在连接建立后,需要对数据库进行访问,执行 sql 语句
    • 在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式:
      • Statement
      • PrepatedStatement
      • CallableStatement

    Statement

    • 通过调用 Connection 对象的 createStatement 方法创建该对象
    • 该对象用于执行静态的 SQL 语句,并且返回执行结果
    • Statement 接口中定义了下列方法用于执行 SQL 语句:
      • ResultSet excuteQuery(String sql)
      • int excuteUpdate(String sql)

    PreparedStatement

    • 可以通过调用 Connection 对象的 preparedStatement() 方法获取
    • PreparedStatement 对象 PreparedStatement 接口是 Statement 的子接口,它表示一条预编译过的 SQL 语句 PreparedStatement 对象所代表的 SQL 语句中的参数用问号(?)来表示,调用
    • PreparedStatement 对象的 setXXX() 方法来设置这些参数. setXXX() 方法有两个参数,第一个参数是要设置的 SQL 语句中的参数的索引(从 1 开始),第二个是设置的 SQL 语句中的参数的值

    PreparedStatement vs Statement

    • 代码的可读性和可维护性.
    • PreparedStatement 能最大可能提高性能:
      • DBServer会对预编译语句提供性能优化。因为预编译语句有可能被重复调用,所以语句在被DBServer的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中就会得到执行。
      • 在statement语句中,即使是相同操作但因为数据内容不一样,所以整个语句本身不能匹配,没有缓存语句的意义.事实是没有数据库会对普通语句编译后的执行代码缓存.这样每执行一次都要对传入的语句编译一次.
      • (语法检查,语义检查,翻译成二进制命令,缓存)
    • PreparedStatement 可以防止 SQL 注入

    4.运行SQL语句

    5.ResultSet

    • 通过调用 Statement 对象的 excuteQuery() 方法创建该对象
    • ResultSet 对象以逻辑表格的形式封装了执行数据库操作的结果集,ResultSet 接口由数据库厂商实现
    • ResultSet 对象维护了一个指向当前数据行的游标,初始的时候,游标在第一行之前,可以通过 ResultSet 对象的 next() 方法移动到下一行
    • ResultSet 接口的常用方法:
      • boolean next()
      • getString()

    6.释放(关闭)资源

    数据类型转换表

    JDBC API 小结1

    • java.sql.DriverManager用来装载驱动程序,获取数据库连接。
    • java.sql.Connection完成对某一指定数据库的联接
    • java.sql.Statement在一个给定的连接中作为SQL执行声明的容器,他包含了两个重要的子类型。
      • Java.sql.PreparedSatement 用于执行预编译的sql声明
      • Java.sql.CallableStatement用于执行数据库中存储过程的调用
    • java.sql.ResultSet对于给定声明取得结果的途径
  • 相关阅读:
    代码生成器
    怎样成为优秀的软件模型设计者[转]
    2010年部分节假日安排的通知
    Web开发工具整理
    JS模版
    Timer_MinBytesPerSecond,Timer_ConnectionIdle解决办法
    [原]Asp.Net提交后,刷新时事件触发问题解决
    [转]JS日期选择控件
    知道了sa密码,控制服务器
    调试
  • 原文地址:https://www.cnblogs.com/Diyo/p/11421655.html
Copyright © 2011-2022 走看看