版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
01029.2.1JDBC介绍9.2.2JDBCAPIC目录ONTENTSPART9.2.1JDBC介绍9.2.1JDBC介绍1.JDBC的工作机制JDBC是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源。9.2.1JDBC介绍通过使用JDBC,程序员可以用纯Java语言和标准的SQL语句编写完整的数据库应用程序,JDBC真正地实现了软件的跨平台性。JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。9.2.1JDBC介绍有了JDBCAPI,就不必为访问MySQL数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,为访问SQLServer数据库又写另一个程序,等等。您只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL语句。9.2.1JDBC介绍2.JDBC的优缺点(1)JDBC使程序员从复杂的驱动程序编写工作中解脱出来,可以完全专注于业务逻辑的开发。9.2.1JDBC介绍(2)JDBC支持多种关系型数据库,大大增加了软件的可移植性。(3)JDBC是面向对象的,软件开发人员可以将常用的方法进行二次封装,从而提高代码的重用性。(1)通过JDBC访问数据库时速度将受到影响。(2)虽然JDBC是面向对象的,但通过JDBC访问数据库依然是面向关系的。(3)JDBC要依赖厂商提供的驱动程序。9.2.1JDBC介绍PART9.2.2JDBCAPIJDBC的API主要由java.sql包提供。java.sql包定义了一些操作数据库的接口,这些接口封装了访问数据库的具体方法。其中,Connection类表示数据库连接,包含了处理数据库连接的有关方法;Statement类提供了执行数据库具体操作的方法;ResultSet类表示结果集,可以提取有关数据库操作结果的信息。9.2.2JDBCAPI9.2.2JDBCAPI类或接口名称作用java.sql.Drive定义一个数据库驱动程序的接口java.sql.DriverManager用于管理JDBC驱动程序java.sql.Connection用于与特定数据库的连接java.sql.Statement用于执行静态的SQL语句并返回执行结果java.sql.PreparedStatement用于执行动态的SQL语句java.sql.CallableStrtement用于执行对数据库的储存过程的调用java.sql.ResultSet用于创建表示SQL查询结果的结果集java.sql.DatabaseMetaData用于取得与数据库相关的信息,如数据库名称、版本9.2.2JDBCAPI在设计应用程序时,主要使用DriverManager、Connection、Statement、PreparedStatement、ResultSet等几个类。他们之间的关系是通过DriverManager类的相关方法建立同数据库的连接,建立连接后返回一个Connection类的实例,再通过连接类的实例创建Statement或PreparedStatement的实例,最后用Statement或PreparedStatement的相关方法执行SQL语句的检索结果、通过这个检索结果可以得到数据库中的数据。1.Driver类java.sql.Driver(以下简称Driver类)表示Java驱动程序接口的类,此类处理与数据库服务器通信。很少直接使用驱动程序(Driver)实例,一般使用DriverManager中的实例,用于管理此类型的实例。9.2.2JDBCAPI2.DriverManager类java.sql.DriverManager类(以下简称DriverManager类)用来管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,负责跟踪可以的驱动程序,并在数据库和驱动程序之间建立连接。9.2.2JDBCAPI另外,DriverManager类也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等工作。成功加载Driver类并在DriverManager类中注册后,DriverManager类即可用来建立数据库连接。9.2.2JDBCAPI当调用DriverManager类的getConnection()方法请求建立数据库连接时,DriverManager类将试图定位一个适当的Driver类,并检查定位到的Driver类是否可以建立连接,如果可以则建立连接并返回,如果不可以则抛出SQLException异常。9.2.2JDBCAPI当调用DriverManager类的getConnection()方法请求建立数据库连接时,DriverManager类将试图定位一个适当的Driver类,并检查定位到的Driver类是否可以建立连接,如果可以则建立连接并返回,如果不可以则抛出SQLException异常。方法名称功能描述getConnection(Stringurl,Stringuser,Stringpassword)用来获得数据库连接,3个入口参数依次为要连接数据库的URL、用户名和密码,返回值的类型为java.sql.ConnectionsetLoginTimeout(intseconds)用来设置每次等待建立数据库连接的最长时间setLogWriter(java.io.PrintWriterout)用来设置日志的输出对象println(Stringmessage)用来输出指定消息到当前的JDBC日志流3.Connection接口java.sql.Connection接口(以下简称Connection接口)代表与特定数据库的连接,在连接的上下文中可以执行SQL语句并返回结果,还可以通过getMetaData()方法获得由数据库提供的相关信息,例如数据表、存储过程和连接功能等信息。9.2.2JDBCAPI4.Statement接口java.sql.Statement接口(以下简称Statement接口)用于在已经建立连接的基础上向数据库发送SQL语句。在JDBC中有3种Statement接口,分别是Statement,PreparedStatement和CallableStatement。Statement接口用来执行静态的SQL语句,并返回执行结果。9.2.2JDBCAPI9.2.2JDBCAPI5.PreparedStatement接口java.sql.PreparedStatement接口(以下简称PreparedStatement接口),用来执行动态的SQL语句,即包含参数的SQL语句。9.2.2JDBCAPI5.PreparedStatement接口需要注意的是,在通过setXxx()方法为SQL语句中的参数赋值时,建议利用与参数类型匹配的方法,也可以利用setObject()方法为各种类型的参数赋值。当调用DriverManager类的getConnection()方法请求建立数据库连接时,DriverManager类将试图定位一个适当的Driver类,并检查定位到的Driver类是否可以建立连接,如果可以则建立连接并返回,如果不可以则抛出SQLException异常。9.2.2JDBCAPIPreparedStatementps=connection.prepareStatement("select*fromtable_namewhereid>?and(name=?orname=?)"); //生成PreparedStatement对象ps.setInt(1,8); //给第1个参数赋值ps.setString(2,"张先生"); //给第2个参数赋值ps.setObject(3,"李先生"); //给第3个参数赋值ResultSetrs=ps.executeQuery(); //执行select语句6.ResultSet接口java.sql.ResultSet接口(以下简称ResultSet接口)类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集以及对应数据表的相关信息,例如列名和类型等,ResultSet实例通过执行查询数据库的语句生成。9.2.2JDBCAPIResultSet实例具有指向当前数据行的指针,最初,指针指向第一行记录,通过n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川遂宁射洪平安街道招聘1人备考题库【必刷】附答案详解
- 2026中国邮政集团有限公司安徽省分公司社会招聘备考题库及参考答案详解【模拟题】
- 宁银理财2026届春季校园招聘备考题库及参考答案详解(突破训练)
- 2026浙江嘉兴市启禾社会工作公益发展中心招聘备考题库含完整答案详解(各地真题)
- 2026广西钦州市城市管理局招聘公益性岗位人员2人备考题库及1套参考答案详解
- 2026上半年四川事业单位统考涪城区考试招聘中小学教师32人备考题库附答案详解ab卷
- 2026安徽蚌埠市卫生健康委委属医院第二批“校园招聘”79人备考题库附答案详解【考试直接用】
- 2026湖南省中南林业科技大学涉外学院人才招聘备考题库(综合卷)附答案详解
- 特区建工集团2026届春季校园招聘备考题库附参考答案详解(综合卷)
- 宁银理财2026届春季校园招聘备考题库附完整答案详解【易错题】
- 爆炸物品知识培训课件
- 生物医药发展新质生产力
- 药品包装更改管理办法
- 焊接工艺卡标准模板
- 基于STM32的智能物流柜设计与实现
- 警察疾病健康知识讲座
- 2025年中药养护培训试题及答案
- 注册类证书管理办法
- AGV系统操作规程
- 肋骨骨折的护理查房
- 动设备培训课件
评论
0/150
提交评论