网站大量收购闲置独家精品文档,联系QQ:2885784924

我的JDBC笔记.docx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
我的JDBC笔记

JDBCJAVA API工作原理:与数据连接、发送SQL语句、处理结果。以下是4个重要环节。 DriverManager :依据数据库的不同,管理JDBC驱动 Connection :负责连接数据库并担任传送数据的任务 Statement :由 Connection 产生、负责执行SQL语句 ResultSet:负责保存Statement执行后所产生的查询结果java.sql中核心的类和接口驱动类型本地java驱动java—jdbc驱动—本地Db驱动—Databse网络纯java驱动java—jdbc—中间件—jdbc—Databse本地java编写的驱动Java—jdbc驱动—DatabaseJDBC-ODBC+ODBC驱动java—jdbc-odbc—odbc—Databse网络服务可以采用多种技术来提高系统性能,这些服务包括:负载均衡缓存技术连接池技术容错机制JDBC编程步骤基本步骤加载连接数据库的JDBC驱动程序 Class.forName(“com.mysql.jdbc.Driver”);推荐这种方式,不会对具体的驱动类产生依赖。DriverManager.registerDriver(com.mysql.jdbc.Driver);会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。System.setProperty(“jdbc.drivers”,“driver1:driver2”); 虽然不会对具体的驱动类产生依赖;但注册不太方便,所以很少使用。 (2)创建与数据库的连接对象, Connection(3)获取发送SQL语句的对象, 比如Statement(4)发送SQL语句,对目标数据库中的数据表进行访问 更新 与 查询(查询操作将返回结果集ResultSet)(5)如果返回结果集,那么遍历结果集(6)倒序关闭资源, (ResultSet、Statement、Connection)最基本编程实例如下(注:其中语句随后将被封装到DAO组件当中):2.程序3.程序说明:(1) url格式 :jdbc:subprotocal:[database locator]- jdbc指出要使用JDBC技术- subprotocal定义驱动程序类型- database locator提供网络数据库的位置和端口号 (包括目标数据库所在的主机名或ip、端口和目标数据库名)- 常用数据库url格式:MySQL :jdbc:mysql://MyDbComputerNameOrIP:3306/testOracle :jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCLSQLServer :jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;DatabaseName=master (2)查询和更新操作- st.executeQuery(): 查询操作,有结果集ResultSet返回- st.executeUpdate():更新操作, 返回值为int型(如果操作的是DML语句,则返回被操作的行数; 如果操作的是DDL语句,则返回0)(3)遍历结果集- 结果集中默认的游标位置在第一条记录的前面,因此遍历结果集时必须要 next,否则出现Before start of result set异常。- 获取一条记录的各个字段值时,可以按字段名获取,也可以按照字段在结果集中的排列序号获取,从1开始。- 通常还会将获取的数据封装在bean对象中4、PreparedStatement 应用(1)PreparedStatement 是Statement的子类,有两点不同。- 有预编译的功能PreparedStatement :是Statement的子接口,允许数据库预编译SQL,避免数据库每次重新编译,以后每次只改变SQL的参数,性能较好,常用方法- 接受一个或多个动态输入参数,称为 IN 参数(2)IN 参数用? 占位符表示。 PreparedStatement执行之前,必须调PreparedStatement 对象setXXX() 方法来设置 IN 参数,在这里 XXX 被设置的参数的数据类型所替换。按照参数的顺序排序,从1开始。比如: 如果要将第一个 IN 参数设置为100: setInt(1, 100)优点:1.没有SQL注入的问题。2.Statement会使数据库频繁编译SQL,可能造成数据库缓冲区溢出。3.数据库和驱动可以对PreperedStatement进行优化(只有在相关联的数据库连接没有关闭的情况下有效)5、CallableStatement的应用(1)CallableStatement 是PreparedSt

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档