首頁 >php教程 >php手册 >JDBC学习笔记

JDBC学习笔记

WBOY
WBOY原創
2016-06-13 10:33:02843瀏覽

l. 连接到数据库的方法
答:1) ODBC(Open Database Connectivity)
      一个以C语言为基础访问SQL为基础数据库引擎的接口,它提供了一致的接口用于和数据库沟通以及访问数据。
   2) JDBC
      Java版本的ODBC

2. JDBC应用编程接口
答:JDBC应用编程接口是:
   1) 标准的数据访问接口,可以连到不同的数据库;
   2) JAVA编程语言的一组类和接口。
   JDBC应用编程接口能够:
   1) 连接到数据库;
   2) 发SQL查询字符串到数据库;
   3) 处理结果。
   JDBC应用编程接口有二个主要的部分:
   1) JAVA应用程序开发接口面向JAVA应用程序开发者;
   2) JDBC驱动程序开发接口
   
3. JDBC Driver
答:1) 一大堆实现了JDBC类和接口的类;
   2) 提供了一个实现java.sql.Driver接口的类。

4. JDBC Driver的四种类型
答:1) JDBC-ODBC桥
   由ODBC驱动提供JDBC访问
   2) 本地API
   部分Java driver把JDBC调用转化成本地的客户端API
   3) JDBC-net
   纯的Java driver,将JDBC调用转入DBMS,与网络协议无关。然后通过服务器将调用转为DBMS协议。
   4) 本地协议
   纯的java driver,将JDBC调用直接转为DBMS使用的网络协议

5. JDBC开发者接口
答:1) java.sql--java 2平台下JDBC的主要功能,标准版(J2SE)
   2) javax.sql--java 2平台下JDBC增强功能,企业版(J2EE)

6. 使用URL确认数据库
答:我们使用URL来确定一个数据库(正确的Driver,正确的主机,正确的协议,正确的协议,正确的用户名和密码);
   语法:protocol:subprotocol:subname
   范例:jdbc:db2:MyTest
         jdbc:db2://localhost:6789/MyTest

7. javax.sql包JDBC2.0的增强功能
答:1) 数据源接口;
   2) 连接池;
   3) 分布式交易;
   4) 行集;

8. 创建一个基本的JDBC应用
答:1) 步骤一:注册一个driver;
   2) 步骤二:建立一个到数据库的连接;
   3) 步骤三:创建一个statement;
   4) 步骤四:执行SQL语句;
   5) 步骤五:处理结果;
   6) 步骤六:关闭JDBC对象

9. 注册一个Driver(步骤一)
答:1) driver被用于连接到数据库;
   2) JDBC应用编程接口使用第一个能成功连接到给定URL的driver;
   3) 在同一时间可以装载多个driver

10.注册一个driver的方法:
答:1) 使用类loader(装载;实例化;注册入DriverManager)
      a. Class.forName("Com.ibm.db2.jdbc.app.DB2Driver");
      b. Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");
      c. Class.forName("Com.microsoft.jdbc.sqlServer.SQLServerDriver);
      d. Class.forName("oracl.jdbc.driver.OracleDriver");
      e. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   2) 实例化一个Driver
      a. Driver drv = new COM.cloudscape.core.RmiJdbcDriver();

1. 建立一个到数据库的连接(步骤二)
答:DriverManager调用getConnection(urlString)方法,实际上调用的是driver的connect(urlString)方法;
   1) 当一个driver肯定地对应到一个数据库URL,DriverManager建立一个连接;
   2) 当没有driver匹配,返回null然后下一个driver被检验;
   3) 假如没有建立连接,抛出一个SQLExcepiton异常

2. 经常使用的一些JDBC URL
答:1) JDBC-ODBC: jdbc:odbc:
   2) Oracle: jdbc:oracle:oci:@ or jdbc:oracle:thin:@
   3) Weblogic MS-SQL: jdbc:weblogic:mssqlserver4:@:
   4) DB2: jdbc:db2:MyTest or jdbc.db2://localhost:6789/MyTest(需要用户名和密码)

3. Driver连接方法
答:1) 创建一个到指定Driver实例的直接调用;
   2) 避免一般访问的问题
      Driver drv = new COM.ibm.db2.jdbc.app.DB2Driver();
      Connection con = null;
      try {con = drv.connect("jdbc:db2:MyTest",new Properties())}
      catch(SQLException e){}

4. 创建一个Statement(步骤三)
答:1) Statement的三个接口:
      a. Statement;
      b. PreparedStatement(继承自Statement);
      c. CallableStatement(继承自PreparedStatement);
   2) 使用方法Connection.createStatement()得到一个Statement对象

5. PreparedStatement对象
答:1) 调用ProparedStatement比statement更为高效;
   2) 继承自Statement;
   3) 语法:PreparedStatement pstm = connection.prepareStatement(sqlString);

6. CallableStatement对象
答:1) 通过CallableStatement调用数据库中的存储过程;
   2) 继承自PreparedStatement;
   3) CallableStatement cstm = connection.prepareCall("{call return_student[?,?]}");
      cstm.setString(1,"8623034");
      cstm.registerOutparameter(2, Types.REAL);
      cstm.execute();
      float gpa = cstm.getFloat(2);

7. Statement接口的比较
答:             | Statement           | PreparedStatement         |  CallableStatement
   ------------------------------------------------------------------------------
   写代码位置   |   客户端            | 客户端                    |  服务器端
   ------------------------------------------------------------------------------
   写代码位置   |   客户端            | 服务器端                  |  服务器端
   ------------------------------------------------------------------------------
   编写代码技术 |Java,SQL操作        |Java,SQL操作              |  数据库的程序语言,如PL/SQL
   ------------------------------------------------------------------------------
   可配置性     |   高                |第一次高,以后低           |  低
   ------------------------------------------------------------------------------
   可移植性     |   高                |假设支持PreparedStatement的话高
   ------------------------------------------------------------------------------
   传输效率     |   低                |第一次低,以后高           |  高

8. 执行SQL Statement(步骤四)
答:通过接口方法将SQL语句传输至黙认的数据库连接,返回结果可能是一个数据表,可以通过java.sql.ResultSet访问。
   1) Statement的接口方法:
   a. executeQuery(sqlString): 执行给定的SQL声明,返回一个结果集(ResultSet)对象;
   b. executeUpdate(sqlString): 执行给定的SQL声明,可以是INSERT、UPDATE或DELETE声明,也可以是SQL DDL声明;
   c. execute(sqlString): 执行给定的SQL声明。

9. 处理结果(步骤五)
答:1) 使用结果集(ResultSet)对象的访问方法获取数据;
      a. next():下一个记录
      b. first():第一个记录
      c. last():最后一个记录
      d. previous():上一个记录
   2) 通过字段名或索引取得数据
   3) 结果集保持了一个指向了当前行的指针,初始化位置为第一个记录前。

10. 关闭JDBC对象(步骤六)
答:1) 首先关闭记录集;
   2) 其次关闭声明;
   3) 最后关闭连接对象。

11. 数据表和类对应的三种关系:
答:1) 一个表对应一个类;
   2) 一个表对应相关类;
 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn