- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章JDBC数据访问接口
JDBC数据访问接口 内容提要 介绍JDBC的结构。 介绍如何利用SQL指令操作数据库 重点介绍JDBC访问数据库的四种基本形式 事务处理 分页显示 利用JavaBean操作数据库。 JDBC数据访问接口 JDBC结构 JDBC与ODBC ODBC结构 JDBC优点: 对数据库基本操作进行封装,使开发人员从复杂的驱动器调用命令和函数中解脱出来 支持不同数据库,使程序的可移植性大大加强。 面向对象,便于进一步封装和复用,提高灵活智能的数据库框架。 可以转化为ODBC,便于原有系统的集成和开发。 缺点: 封装增加复杂性,速度受到影响。 抽象接口,难以支持数据库的高级特性 无法完全屏蔽数据库差异。 (1)JDBC-ODBC桥加ODBC驱动程序:JDBC-ODBC桥产品利用ODBC驱动程序提供JDBC访问。在服务器上必须可以安装ODBC驱动程序。 与系统的强耦合,降低了程序的可移植性。 示例:ODBC (2)JDBC纯Java驱动程序 有很多数据库提供商提供了数据库的JDBC驱动程序,可以直接访问数据库,这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。 例如,微软提供了JDBC直接连接SQL Server数据库JDBC驱动程序sqlserver driver for jdbc,使得可以直接使用JDBC访问SQL Server数据库。 JDBC核心类结构 DriverManager:作用于用户和驱动程序之间,是JDBC的管理层。跟踪驱动程序,建立连接,处理时间限制,登录和跟踪信息的显示。 常用方法: Class.Forname() Getconnection() Getdriver() 数据驱动程序 使用JDBC的第一步是安装驱动程序并注册。大多数数据库都有JDBC驱动程序,常用的JDBC驱动程序如图所示。 加载ORACLE数据库的语句Class.forName(“oracle.jdbc.driver.OracleDriver”); 加载MySQL数据库的语句 Class.forName(“com.mysql.jdbc. Driver”); 加载SQLserver数据库的语句Class.forName(“com.microsoft.jdbc.sqlserver. SQLServerDriver”); Connection对象 第二步:建立与数据库之间的连接,也就是创建一个Connection的实例。 DriverManager类的getConnection()方法将建立数据库的连接: public static Connection getConnection(String url, String user, String password) throws SQLException 例(jdbc:odbc:数据源名,数据库登录名,数据库登录密码) 在程序的最后,应该关闭Connection对象:public void close() throws SQLException JDBC url 连接字语法 Jdbc:子协议:子名称://DB服务器IP:端口:数据库 如 jdbc:dcenaming:x—网络命名协议dce将x解释为更具体的真实数据库 对于远程数据库 jdbc:子协议://主机名:端口/数据库 例子: jdbc: oracle: thin:@localhost:1521:sid jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BookDB jdbc:mysql://localhost:3306/BookDB Statement对象 第三步:创建Statement对象,用于将SQL语句发送到数据库中。 存在3种Statement对象: (1)Statement; (2)PreparedStatement(从Statement继承而来,发送有一个或多个输入参数的SQL语句,预编译执行,效率高); (3)CallableStatement(从PreparedStatement继承而来,执行存储过程,可使用输入输出参数)。 Statement接口 第四步:执行查询,获得ResultSet Statement接口提供了三种执行SQL语句的常用方法: public ResultSet executeQuery(String sql) throws SQLException 用于产生单个ResultSet的语句,例如
文档评论(0)