欢迎来到天天文库
浏览记录
ID:42997136
大小:1.16 MB
页数:37页
时间:2019-09-27
《12数据库编程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第十二章数据库编程图形图像研究所计算机科学与技术、软件学院浙江工业大学高飞博士,教授,博士生导师,研究所所长Cell:13757169225Email:gfei_jack@163.com前言本章的目的:本章在介绍数据库的概念、SQL语言、JDBC以及SQLServer数据库的基础上,通过数据库操作例子,向读者介绍Java中使用JDBC访问数据库编程方法。回顾关键词:网络编程的两个重要问题(找到主机、找到进程)、URL、Socket、IntelAddress小节安排数据库编程12.3.1JDBC
2、驱动程序设置12.1JDBC概述12.2JDBCAPI12.3.2建立数据库连接12.3.3查询记录12.3JDBC编程实例12.1.1JDBC模型12.1.2JDBC驱动方式12.3.4删除记录12.3.5修改记录12.3.6数据库操作综合实例12.3.7SQL数据库常用命令12.1JDBC概述JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力12.1.1JDBC模型Java程序JavaAPIJDBC实现ConnectionStatementPreparedStatement
3、ResultSetOracleMySqlSQLServerJAVA程序一般通过调用JDBC所定义的类和接口来处理数据库中的数据,也就是通过调用JDBC的驱动程序实现对数据库的操作。12.1.1JDBC模型基于JDBC的数据库程序设计方法通过三步组成。首先是连接数据库然后是执行SQL(StructureQueryLanguage,结构化查询语言)语句并处理查询结果最后是关闭连接通过执行SQL语句可以处理数据库数据,比如对数据库中的记录进行添加、删除、修改等操作,或者查询满足某种条件的数据等12.1
4、.2JDBC驱动方式JDBC驱动程序有下列4种:JDBC-ODBC桥加ODBC驱动程序本地API结合Java驱动程序网络纯Java驱动程序本地协议纯Java驱动程序12.1.2JDBC驱动方式JDBC-ODBC桥加ODBC驱动程序JDBC-ODBC桥产品利用ODBC驱动程序提供JDBC访问。在服务器上必须可以安装ODBC驱动程序。JDBC-ODBC桥是一个JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现JDBC操作。JAVA应用系统JDBCAPIJDBC-ODBC桥DBMSODBC
5、层ODBCAPI12.1.2JDBC驱动方式本地API结合Java驱动程序本地APIJava驱动程序通过JDBC驱动程序将应用程序中的调用请求转化为本地API调用,由本地API与数据库通信,数据库处理完请求将结果通过本地API返回,进而返回给JDBC驱动程序,JDBC驱动程序将返回的结果转化为JDBC标准形式,再返回给客户程序JAVA应用系统JDBCAPIJDBC驱动程序DBMS本地API(厂商提供)12.1.2JDBC驱动方式网络纯Java驱动程序这种驱动程序将JDBC转换为与DBMS无关的网
6、络协议,之后这种协议又被某个服务器转换为一种DBMS协议。JAVA应用系统JDBCAPIJDBC驱动程序本地驱动程序应用服务器DBMS12.1.2JDBC驱动方式本地协议纯Java驱动程序驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这种驱动与数据库建立直接的套接字连接,采用具体数据库厂商的网络协议把JDBCAPI调用转换为直接网络调用,也就是允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。JAVA应用系统JDBCAPIJDBC驱动程序DBMS
7、建议尽可能地使用纯JavaJDBC驱动程序代替桥和ODBC驱动程序,这可以完全省去ODBC所需的客户机配置,也免除了被其它插件错误影响数据库连接的可能性。12.2JDBCAPIJDBC向应用程序开发者提供独立于某种数据库的统一的API。JDBCAPI是一系列抽象的接口,它使得应用程序员能够进行数据库连接,执行SQL声明,并且返回结果。数据源(javax.sql.DataSource)数据库连接(java.sql.Connection)SQL语句执行器(java.sql.Statement)SQL
8、查询结果集(java.sql.ResultSet)12.2JDBCAPIjavax.sql.DataSource表12-1javax.sql.DataSource的常用方法方法说明ConnectiongetConnection()尝试建立到该对象所代表的数据源的数据库连接ConnectiongetConnection(Stringusername,Stringpassword)尝试建立到该对象所代表的数据源的数据库连接intgetLoginTimeout()获取登录超时时间PrintWriter
此文档下载收益归作者所有