




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JDBC 基本概念与应用杨颂讲课内容nJDBC基本概念n如何通过JDBC访问数据库JDBC基本概念nJDBC为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成。是java程序与数据库系统通信的标准API。JDBC API 使得开发人员可以使用纯java的方式来连接数据库,并执行操作。JDBC的结构n程序包n主要的类nJdbc的几种类型JDBC的两个程序包nJava.sql(核心API)nJavax.sql (扩展API) nJdbc网站:http:/ (扩展API) n它主要为数据库方面的高级操作提供了接口和类。如连接管理、分布式事务和行集等。JDBC常用接口nDri
2、ver接口nDriverManager接口nConnection接口接口nStatement接口nResult接口Driver接口nDriver接口由数据库厂家提供,对于java开发者而言,只需要使用Driver接口就可以了。n在编程中要连接数据库,必须先装载特定厂商的数据库驱动程序。不同的数据库有不同的装载方法。装载驱动n装载JDBC-ODBC驱动:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);n装载MS SQL Server驱动:Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDrive
3、r”);装载驱动n装载MySql驱动Class.forName(“org.gjt.mm.mysql.Driver”);n装载Oracle驱动Class.forName(“oracle.jdbc.driver.OracleDriver”);DriverManager接口nDriverManager是JDBC的管理层,作用于用户和驱动程序之间。nDriverManager跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。nDriverManager处理驱动程序登陆时间限制、跟踪消息的显示等。Connection接口nConnection与特定数据库的连接(会话),在连接上下文中执行 SQ
4、L 语句并返回结果。nDriverManager的getConnection()方法建立在JDBC URL中定义的数据库Connection连接上: Connection con= DriverManager.getConnection(url,login,password);Statement接口n用于执行静态 SQL 语句并返回它所生成结果的对象。n一般情况下使用connection.createStatement()方法可以得到Statement实例。Statement接口n三种Statement对象: Statement、PreparedStatement和CallableStatem
5、ent。n常用的Statement方法: execute():运行语句,返回是否有结果集。 executeQuerty():运行查询语句,返回ResultSet结果集。 executeUpdate():运行更新操作,返回更新的行数。ResultSet接口nStatement执行SQL语句时返回ResultSet结果集。nResultSet提供的检索不同类型字段的方法,常用的有: getString():获得在数据库里是varchar、char等数据类型的对象。 getFloar():获得杂数据库里是Float类型的对象。ResultSet接口ngetDate():获得在数据库里面是Date类型
6、的数据。ngetBoolean():获得在数据库里面是Boolean类型的数据。ngetObject():在Sql中无对应类型,获得序列化对象。JDBC的几种类型n数据库厂商一般会提供一组API访问数据库。流行的数据库如Oracle、SQL Server、Sybase、Informix都提供了专用的API。JDBC的几种类型nType 1 JDBC-ODBC桥nType 2 部分java部分本机驱动程序nType 3 中间数据访问服务器nType 4 纯java驱动程序Type 1 JDBC-ODBC桥nJDBC Type 1 驱动程序基于 JDBC-ODBC 桥。它是把JDBC操作翻译成对于
7、的ODBC调用。n优点:可以访问所有ODBC可以访问的数据库。n缺点:执行效率低。Type 1 JDBC-ODBC桥Type 2 部分java部分本机驱动程序nJDBC Type 2 驱动程序依靠特定于操作系统的库(共享库)来与 RDBMS 通信。应用程序将装入这种 JDBC 驱动程序,而驱动程序将使用共享库来与 数据库 服务器通信。Type 2 部分java部分本机驱动程序Type 3 中间数据访问服务器nJDBC Type 3 驱动程序将应用程序与中间件服务器连接,中间件服务器将应用程序的JDBC调用映射到适当的数据库驱动程序上。nWebLogic的驱动池就是属于type3类型。Type
8、3 中间数据访问服务器Type 4 纯java驱动程序nType 4 驱动程序是仅用于 Java 的 JDBC 驱动程序,它直接连接到数据库服务器。Type 4 纯java驱动程序JDBC object, interface modelDriver ManagerDriverResultSetConnectionStatementPreparedStatementCallableStatementRegisterProvideExecuteResultExtendsExtendsJDBC的使用n程序写作步骤n使用实例JDBC 之程序写作步骤1.注册并载入特定的 Database DriverC
9、lass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);2.利用 Driver Manager 建立DB ConnectionConnection conn = DriverManager.getConnection(“jdbc:odbc:myDB”, “user”,”pw”);3.利用 Connection对象执行 SQL 语句并返回它所生成结果的对象。 Statement stmt = conn.createStatement( );JDBC 之程序写作步骤4.利用 Statement 执行 SQL Statement必要时取得 ResultSet ref
10、erenceResultSets rs = stmt.executeQuery(“Select * from Book”);5.利用 ResultSet 读取相关资料rs.getXXX(“fieldName”);6.依序关闭使用之对象及连接;ResultSet Statement Connection实例一 jdbc-odbc桥方式连接Access连接数据库JDBC-ODBC连接数据库 Connection con = null; try /调用JDBC-ODBC 驱动程序 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /建立连接 con = Dri
11、verManager.getConnection(jdbc:odbc:MS Access Database;DBQ=.databaseCompany.mdb); Statement stmt = con.createStatement(); 连接数据库JDBC-ODBC/利用 Statement 执行 SQL Statement 并保存到ResultSet 中。ResultSet rst = stmt.executeQuery(SELECT chCompanyName FROM Company;);/处理结果集 while (rst.next() System.out.println(rst.
12、getString(chCompanyName); catch (Exception e) e.printStackTrace(); 不同数据库厂商的JDBC驱动的使用nMicrosoft Access DatabasenMicrosoft SQL ServernMySQL DatabasenOracle DatabasenSybase DatabaseMicrosoft Access Database语法:/调用JDBC-ODBC 驱动程序Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/建立连接con = DriverManager.getConne
13、ction(jdbc:odbc:MS Access Database;DBQ=.databaseCompany.mdb);Microsoft SQL Server语法:Class.forName(net.sourceforge.jtds.jdbc.Driver );Connection con = DriverManager.getConnection(jdbc:jtds:sqlserver:/host:port/database,user,password);orConnection con = DriverManager.getConnection(jdbc:jtds:sybase:/host:port/database,user,password);MySQL Database语法:Class.forName(com.mysql.jdbc.Driver);Connection con = DriverManager.getConnection(jdbc:mysql:/host:port/database,user,password);Oracle Database语法:Class.forName(oracle.jdbc.driver.OracleDriver);Connection con = DriverManager.getConnec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同范本付款违约条款
- 健身学员合同范本
- 公房出租合同范本
- 员工出去培训合同范本
- 五金模具材料采购合同范本
- 知识产权保护高地建设的重点措施与方向
- 受托支付工资合同范例简易
- 哈尔滨施工备案合同范本
- 人防安装合同范本
- 员工代理合同范本
- AQ6111-2023个体防护装备安全管理规范
- GGD交流低压配电柜运行、维护说明书、安装、操作手册
- JCT2354-2016 卫生陶瓷企业安全生产规范
- 2024年全国国家版图(中小学组)知识竞赛题库及答案
- QBT 2605-2003 工业氯化镁行业标准
- 2024年江西机电职业技术学院单招职业适应性测试题库带答案
- 《拒绝沉迷手机远离“垃圾快乐”》班会课件
- 普通高中政治课程标准测试题及答案
- 2024年知识竞赛-《民用爆炸物品安全管理条例》知识竞赛笔试参考题库含答案
- 心肺复苏基本生命支持技术(双人)操作考核评分标准
- 屋顶 屋顶的排水设计 屋顶的排水方式(建筑构造)
评论
0/150
提交评论