JDBC学习笔记

上传人:大米 文档编号:486131861 上传时间:2022-11-20 格式:DOC 页数:19 大小:26.92KB
返回 下载 相关 举报
JDBC学习笔记_第1页
第1页 / 共19页
JDBC学习笔记_第2页
第2页 / 共19页
JDBC学习笔记_第3页
第3页 / 共19页
JDBC学习笔记_第4页
第4页 / 共19页
JDBC学习笔记_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《JDBC学习笔记》由会员分享,可在线阅读,更多相关《JDBC学习笔记(19页珍藏版)》请在金锄头文库上搜索。

1、JDBC学习笔记(该笔记由SD0601张亚玲提供)(我们所学习的均为jdbc2.0规范,jdbc1.0为直接连接,而jdbc2.0它有JNDI服务,在服务器启动时自动创建一个连接池,定义了一个DataSource接口,用其标准才能使用JDBC连接池)一、关于JDBCl. 连接到数据库的方法答:1) ODBC(Open Database Connectivity)一个以C语言为基础访问SQL为基础数据库引擎的接口,它提供了一致的接口用于和数据库沟通以及访问数据。2) JDBCJava版本的ODBC2. JDBC应用编程接口答:JDBC应用编程接口是:1) 标准的数据访问接口,可以连到不同的数据库

2、;2) JAVA编程语言的一组类和接口。JDBC应用编程接口能够:1) 连接到数据库;2) 发SQL查询字符串到数据库;3) 处理结果。JDBC应用编程接口有二个主要的部分:1) JAVA应用程序开发接口面向JAVA应用程序开发者;2) JDBC驱动程序开发接口。3. JDBC Driver答:1) 一大堆实现了JDBC类和接口的类;3) 提供了一个实现java.sql.Driver接口的类。4. JDBC Driver的四种类型答:1) JDBC-ODBC桥由ODBC驱动提供JDBC访问,JDBCZ转化为ODBC。4) Native BridgeJava对数据库的访问转化为数据库的客户端对数

3、据库的访问,所以需要安装数据库的客户端(API)。5) pure java直接发送到数据库被数据库监听。纯的Java driver,将JDBC调用转入DBMS,与网络协议无关。然后通过服务器将调用转为DBMS协议。6) 本地协议纯的java driver,将JDBC调用直接转为DBMS使用的网络协议5. JDBC开发者接口答:1) java.sql-java 2平台下JDBC的主要功能,标准版(J2SE)7) javax.sql-java 2平台下JDBC增强功能,企业版(J2EE)6. 使用URL确认数据库答:我们使用URL来确定一个数据库(正确的Driver,正确的主机,正确的协议,正确的

4、协议,正确的用户名和密码);语法:protocol:subprotocol:subname范例:jdbc:db2:MyTestjdbc:db2:/localhost:6789/MyTest-oracle-驱动:oracle.jdbc.driver.OracleDriverURL:jdbc:oracle:thin:dbname注:machine_name:数据库所在的机器的名称;(或IP)port:端口号,默认是1521-mysql-驱动:org.gjt.mm.mysql.DriverURL:jdbc:mysql:/dbname注:machine_name:数据库所在的机器的名称;(或IP)po

5、rt:端口号,默认3306-pointbase-驱动:com.pointbase.jdbc.jdbcUniversalDriverURL:jdbc:pointbase:server:/dbname注:machine_name:数据库所在的机器的名称;(或IP)port:端口号,默认是9092-SQL Server-驱动:com.microsoft.jdbc.sqlserver.SQLServerDriverURL:jdbc:microsoft:sqlserver:/;DatabaseName=注:machine_name:数据库所在的机器的名称;(或IP)port:端口号,默认是1433-DB

6、2-驱动:com.ibm.db2.jdbc.app.DB2DriverURL:jdbc:db2:/dbname注:machine_name:数据库所在的机器的名称;(或IP)port:端口号,默认是50007. javax.sql包JDBC2.0的增强功能答:1) 数据源接口;8) 连接池;9) 分布式交易;10) 行集;二、基本的JDBC应用1、创建一个基本的JDBC应用答:1) 步骤一:注册一个driver;driver被用于连接到数据库; JDBC应用编程接口使用第一个能成功连接到给定URL的driver; 在同一时间可以装载多个driver注册一个driver的方法: 使用类loade

7、r(装载;实例化;注册入DriverManager)Class.forName(oracle.jdbc.driver.OracleDriver);a. Class.forName(Com.ibm.db2.jdbc.app.DB2Driver);b. Class.forName(C.DB2Driver);c. Class.forName(Com.microsoft.jdbc.sqlServer.SQLServerDriver);d. Class.forName(oracl.jdbc.driver.OracleDriver);e. Class.forName(sun.jdbc.odbc.JdbcO

8、dbcDriver);实例化一个Drivera. Driver drv = new COM.cloudscape.core.RmiJdbcDriver();2) 步骤二:建立一个到数据库的连接;第一种方法:DriverManager调用getConnection(urlString)方法,实际上调用的是driver的connect(urlString)方法;Connection con= DriverManager.getConnection(jdbc:oracle:thin:192.168.0.26:1521:tarenadb,tarena,tarena); 当一个driver肯定地对应到一

9、个数据库URL,DriverManager建立一个连接; 当没有driver匹配,返回null然后下一个driver被检验; 假如没有建立连接,抛出一个SQLExcepiton异常第二种方法:调用driver的connect方法。创建一个到指定Driver实例的直接调用; 避免一般访问的问题Driver drv = new COM.ibm.db2.jdbc.app.DB2Driver();/ Driver drv = new oracle.jdbc.dri;Connection con = null;try con = drv.connect(jdbc:db2:MyTest,new Prope

10、rties()catch(SQLException e)3)步骤三:创建一个statement; Statement的三个接口:a. Statement;b. PreparedStatement(继承自Statement);c. CallableStatement(继承自PreparedStatement);使用方法Connection.createStatement()得到一个Statement对象PreparedStatement对象调用ProparedStatement比statement更为高效;继承自Statement;语法:PreparedStatement pstm = conn

11、ection.prepareStatement(sqlString);CallableStatement对象 通过CallableStatement调用数据库中的存储过程; 继承自PreparedStatement; CallableStatement cstm = connection.prepareCall(call return_student?,?);cstm.setString(1,8623034);cstm.registerOutparameter(2, Types.REAL);cstm.execute();float gpa = cstm.getFloat(2);4)步骤四:执行

12、SQL语句;通过接口方法将SQL语句传输至黙认的数据库连接,返回结果可能是一个数据表,可以通过java.sql.ResultSet访问。 Statement的接口方法:a. executeQuery(sqlString): 执行给定的SQL声明,返回一个结果集(ResultSet)对象; ResultSet rs = stm.executeQuery(select name,gender,age,gpa from +TABLE_NAMEb. executeUpdate(sqlString): 执行给定的SQL声明,可以是INSERT、UPDATE或DELETE声明,也可以是SQL DDL声明;

13、c. execute(sqlString): 执行给定的SQL声明。5) 步骤五:处理结果;使用结果集(ResultSet)对象的访问方法获取数据;a. next():下一个记录b. first():第一个记录c. last():最后一个记录d. previous():上一个记录while(rs.next()System.out.print(name: + rs.getString(1);System.out.print(tgender: + rs.getString(2);System.out.print(tage: + rs.getInt(3);System.out.println(tgpa: + rs.getFloat(4); 通过字段名或索引取得数据,rs.getString(列名)或者rs.getString(列名数字)。结果集保持了一个指向了当前行的指针,初始化位置为第一个记录前。6)步骤六:关闭JDBC对象首先关闭记录集; 其次关闭声明; 最后关闭连接对象。最经典的关闭

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号