版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆工程学院《数字系统设计技术》2023-2024学年第一学期期末试卷
- 镇江市高等专科学校《数据挖掘基础》2023-2024学年第一学期期末试卷
- 浙江交通职业技术学院《数据库系统及应用实践》2023-2024学年第一学期期末试卷
- 中国矿业大学(北京)《固体表面物理化学》2023-2024学年第一学期期末试卷
- 郑州轨道工程职业学院《中外剧作家及作品研究》2023-2024学年第一学期期末试卷
- 运城职业技术大学《休闲学与休闲文化》2023-2024学年第一学期期末试卷
- 区域经济发展中的产业协同效应
- DB2201T 69-2024 哺乳母猪智能化饲喂技术规范
- 数学社团学习活动
- 房地产经纪综合能力-《房地产经纪综合能力》模拟试卷1
- GB/T 9978.5-2008建筑构件耐火试验方法第5部分:承重水平分隔构件的特殊要求
- 上海纽约大学自主招生面试试题综合素质答案技巧
- 办公家具项目实施方案、供货方案
- 2022年物流服务师职业技能竞赛理论题库(含答案)
- 危化品安全操作规程
- 连锁遗传和遗传作图
- DB63∕T 1885-2020 青海省城镇老旧小区综合改造技术规程
- 高边坡施工危险源辨识及分析
- 中海地产设计管理程序
- 简谱视唱15942
- 《城镇燃气设施运行、维护和抢修安全技术规程》(CJJ51-2006)
评论
0/150
提交评论