第10章 应用JDBC进行数据库开发

合集下载

jdbc连接数据库的四个步骤

jdbc连接数据库的四个步骤

jdbc连接数据库的四个步骤一、引入jdbc相关的jar包在使用jdbc连接数据库之前,需要先引入jdbc相关的jar包,以便在代码中使用jdbc的相关类和方法。

常用的jdbc jar包有mysql-connector-java、ojdbc等,根据所使用的数据库类型选择相应的jar包。

二、加载数据库驱动加载数据库驱动是使用jdbc连接数据库的第一步。

不同的数据库有不同的驱动类,需要根据所使用的数据库类型加载相应的驱动类。

加载驱动的方式有两种:一种是使用Class.forName()方法加载驱动类,另一种是使用DriverManager.registerDriver()方法注册驱动类。

三、建立数据库连接建立数据库连接是使用jdbc连接数据库的第二步。

在建立数据库连接之前,需要先获取数据库连接所需的连接信息,包括数据库的URL、用户名和密码。

数据库的URL是连接数据库的唯一标识,用户名和密码用于验证用户身份。

通过调用DriverManager.getConnection()方法,并传入连接信息参数,即可建立数据库连接。

四、执行数据库操作建立数据库连接之后,就可以执行数据库操作了。

数据库操作包括数据的增删改查等操作。

在执行数据库操作之前,需要创建Statement或PreparedStatement对象,并使用这些对象执行相应的SQL语句。

Statement对象用于执行静态SQL语句,而PreparedStatement对象用于执行带有参数的预编译SQL语句。

执行SQL语句后,可以通过ResultSet对象获取查询结果。

jdbc连接数据库的四个步骤如上所述,其中第一步是引入jdbc相关的jar包,第二步是加载数据库驱动,第三步是建立数据库连接,第四步是执行数据库操作。

通过这四个步骤,可以实现使用jdbc连接数据库,进行数据的增删改查等操作。

在使用jdbc连接数据库时,需要注意以下几点:1. 引入的jdbc jar包需要与所使用的数据库类型对应,否则无法正常连接数据库。

python jdbc连接数据库 定义方法

python jdbc连接数据库 定义方法

python jdbc连接数据库定义方法JDBC连接是一种在Python编程语言中与数据库进行交互的标准方法。

它是一种简单而强大的工具,允许我们通过Python代码来执行SQL语句、查询数据库和更新数据。

本文将一步一步地详细介绍如何使用Python JDBC连接数据库的方法。

第一步:安装JDBC驱动程序要使用JDBC连接数据库,我们需要安装相应的JDBC驱动程序。

根据您所使用的数据库类型,您需要下载相应的JDBC驱动程序。

例如,如果您使用的是MySQL数据库,您可以从MySQL官方网站下载MySQL JDBC驱动程序。

确保将驱动程序文件保存在适当的位置,以便在后续步骤中引用它。

第二步:导入必要的模块要在Python中使用JDBC连接数据库,我们需要导入合适的模块。

常用的模块包括`jaydebeapi`和`pyodbc`。

`jaydebeapi`模块是一个纯Python模块,可用于通过JDBC连接到多种数据库。

而`pyodbc`模块则是一个用于连接到ODBC数据库的模块。

根据您的数据库类型和个人偏好,您可以选择导入相应的模块。

第三步:建立数据库连接一旦我们导入了所需的模块,我们就可以开始建立数据库连接了。

对于大多数数据库,我们需要提供以下连接参数:数据库URL、用户名以及密码。

这些参数将用于验证和建立与数据库的连接。

对于`jaydebeapi`模块,我们可以使用`jaydebeapi.connect()`函数来建立数据库连接。

以下是一个示例代码:pythonimport jaydebeapi# 定义数据库连接参数database_url = "jdbc:mysql:localhost:3306/mydatabase" username = "myuser"password = "mypassword"# 建立数据库连接conn = jaydebeapi.connect("com.mysql.jdbc.Driver", database_url, [username, password])对于`pyodbc`模块,我们可以使用`pyodbc.connect()`函数来建立数据库连接。

Java中的JDBC数据库操作技巧

Java中的JDBC数据库操作技巧

Java中的JDBC数据库操作技巧一、JDBC简介JDBC全称为Java Database Connectivity,是Java的一个标准API,用于与各种关系型数据库进行连接、查询、更新等操作。

JDBC提供了一套基于SQL的编程接口,能够让Java程序无需了解底层数据库的细节即可进行数据库操作。

二、JDBC驱动类型JDBC驱动是一个程序模块,用于实现JDBC的API并与具体的数据库进行通信。

JDBC驱动可以分为四种类型:1、JDBC-ODBC桥接式驱动:使用ODBC驱动访问数据库。

这种驱动依赖于底层操作系统的ODBC机制,因此只能在Windows系统中使用。

2、本地式驱动:这种驱动实现了JDBC的API,并且直接与数据库交互。

由于直接调用数据库的API,因此效率要比桥接式驱动高。

3、网络式驱动:这种驱动通过网络协议与数据库进行通信。

大多数商用数据库都支持这种驱动,因此可以跨平台使用。

4、纯Java式驱动:这种驱动完全由Java实现,并且直接与数据库进行通信。

由于没有依赖于底层操作系统的机制,因此可以跨平台使用。

三、JDBC连接数据库JDBC连接数据库通常分为以下步骤:1、加载JDBC驱动在使用JDBC之前,必须先加载相应的JDBC驱动类。

可以通过Class.forName()方法来加载驱动,该方法的参数是完整的类名。

2、连接数据库连接数据库需要的参数通常包括数据库的URL、用户名和密码等。

可以使用DriverManager.getConnection()方法来建立连接,该方法的参数是一个包含数据库连接信息的字符串。

3、关闭连接在使用完连接后,必须调用Connection.close()方法来关闭连接,以便释放资源。

四、JDBC执行SQL语句JDBC可以执行各种类型的SQL语句,包括查询语句、更新语句、存储过程等。

1、执行查询语句可以使用Statement或PreparedStatement对象来执行查询语句。

jdbc的六个步骤

jdbc的六个步骤

jdbc的六个步骤
JDBC(Java Database Connectivity)是一种用于连接和操作数据库的 Java API。

它提供了一组标准的接口和类,使得 Java 程序能够与各种不同类型的数据库进行交互。

使用 JDBC 进行数据库操作通常包括以下六个步骤:
1. 加载和注册 JDBC 驱动程序:在使用 JDBC 之前,需要先加载并注册相应数据库的驱动程序。

这可以通过在代码中使用 Class.forName()方法来实现,传递数据库驱动程序的类名作为参数。

2. 创建数据库连接:使用 DriverManager 类的 getConnection()方法来创建与数据库的连接。

需要提供数据库的 URL、用户名和密码等连接信息。

3. 创建 Statement 对象:通过连接对象创建 Statement 对象,用于执行 SQL 语句。

4. 执行 SQL 语句:使用 Statement 对象的 executeQuery()或 executeUpdate()方法来执行 SQL 查询或更新操作。

5. 处理结果:如果执行的是查询操作,可以使用 ResultSet 对象来获取查询结果。

通过循环遍历 ResultSet 对象,可以获取每一行的数据。

6. 关闭资源:在完成数据库操作后,需要关闭连接、 Statement 和 ResultSet 对象,释放相关资源。

这六个步骤是使用 JDBC 进行数据库操作的基本流程。

需要根据具体的数据库类型和需求,适当地调整代码和参数。

《Java》实验指导13-JDBC数据库编程(Access版)

《Java》实验指导13-JDBC数据库编程(Access版)

实验项目十三JDBC数据库编程一、实验目的及要求1、掌握创建ODBC数据源2、掌握创建一个Student表3、运用Type1(JDBC-ODBC桥)连接、访问数据库4、实现数据库的增删改查操作二、实验内容和要求1、在D盘建立sql文件夹,进入该文件夹建立名为stu.mdb的数据库,打开,设计表结构如下(参照P178表10-6),存盘,定表名为Students:打开表,可以添加2条记录如下:2、创建ODBC数据源开始-设置-控制面板-管理工具-数据源,选择“系统DSN”-“添加”,选第2项“Driver do Microsoft Access(*.Mdb)”(如下图):配置系统DNS(数据源):StudentSystem按照以下图例进行设置:数据源名,填StudentSystem,按“选择”,选d:\sql目录下的stu.mdb:再按“高级”按钮,登录名填sa,密码填sql,按“确定”。

记住数据源的名字System,表的名字Students,登录名sa,密码sql,编程会用到。

注意配置环境变量,Dos下加上 set path=C:\Program Files\Java\jdk1.6.0_20\bin3、运用Type1(JDBC-ODBC桥)连接、访问数据库//P179,操作1 创建一个类Student,与上面的表Student是对接:class Student{String No; //学号String Name; //姓名int Age; //年龄String Sex; //性别String Address; //住址String Email; //电子邮件String Phone; //联系电话//创建学生对象,封装数据//编写Student构造函数如下public Student(String No,String Name,int Age,String Sex,String Address,String Email,String Phone){this.No=No;=Name;this.Age=Age;this.Sex=Sex;this.Address=Address;this.Email=Email;this.Phone=Phone;}}编译情况如下:●运行结果●算法分析//P179,操作2 连接数据库:import java.sql.*; //导入包public class StudentSystem{Connection conn; //数据库连接对象Statement stm; //执行简单的SQL语句PreparedStatement pstm;//执行带有参数的SQL语句ResultSet rs; //保存查询结果StudentSystem()throws Exception{//加载驱动程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库conn=DriverManager.getConnection("jdbc:odbc:StudentSystem","sa","sql"); }//操作3 :显示数据表的内容://查询并显示所有学生信息void selectAll()throws SQLException{stm=conn.createStatement();//创建Statement对象rs=stm.executeQuery("select * from Students");//执行SQL语句//判断是否有查询结果并显示while(rs.next()){printAll();System.out.println("------------------------------");}closeAll();//关闭Statement对象和ResultSet结果集//操作4 增:插入一条记录到数据表中://插入学生信息void insertStudent(Student s)throws SQLException{//创建带有参数的preparedStatement对象pstm=conn.prepareStatement("insert into Students values(?,?,?,?,?,?,?)"); //为参数赋值setValue(s);//执行SQL语句pstm.executeUpdate();//关闭preparedStatement对象pstm.close();}//操作5 删:删除满足条件的记录://删除指定学号的学生void deleteNo(String No)throws SQLException{pstm=conn.prepareStatement("delete from Students where StudentNo=?"); pstm.setString(1,No);pstm.executeUpdate();}//操作6 改:修改数据表的内容://修改指定学号的学生信息/* void updateStudent(Student s)throws SQLException{pstm=conn.prepareStatement("update Students setStudentNo=?,Name=?,Age=?,Sex=?,Address=?,Email=?,Phone=? where StudentNo=?"); setValue(s);pstm.setString(8,s.No);pstm.executeUpdate();pstm.close();}*///操作7 查:查找满足条件的记录://按照指定的学号查找特定学生信息void selectNo(String No)throws SQLException{stm=conn.createStatement();rs=stm.executeQuery("select * from Students where StudentNo='"+No+"'"); if(rs.next()){printAll();}closeAll();//操作8 综合处理://用来显示数据库中的数据private void printAll()throws SQLException{System.out.println("学号:"+rs.getString(1));System.out.println("姓名:"+rs.getString(2));System.out.println("年龄:"+rs.getInt(3));System.out.println("性别:"+rs.getString(4));System.out.println("地址:"+rs.getString(5));System.out.println("Email:"+rs.getString(6));System.out.println("电话:"+rs.getString(7));}//用来为参数设定值private void setValue(Student s)throws SQLException{pstm.setString(1,s.No); //pstm.setString("StudentNo",s.No);pstm.setString(2,); //pstm.setString("Name",);pstm.setInt(3,s.Age); //pstm.setInt("Age",s.Age);pstm.setString(4,s.Sex); //pstm.setString("Sex",s.Sex);pstm.setString(5,s.Address);//pstm.setString("Address",s.Address); pstm.setString(6,s.Email); //pstm.setString("Email",s.Email);pstm.setString(7,s.Phone); //pstm.setString("Phone",s.Phone);}//关闭结果集和Statement对象private void closeAll()throws SQLException{rs.close();stm.close();}//关闭连接void closeConn()throws SQLException{conn.close();}}将上述代码存入d:\j文件夹,名为StudentSystem.java,编译情况如下:●运行结果●算法分析4、实现数据库的增删改查操作//p181,主控程序class MainStudent{public static void main(String args[])throws Exception{//创建数据库操作类实例StudentSystem ss=new StudentSystem();//创建学生对象Student s1=new Student("20053051103","李三",22,"男","河北","168755955@","12345908945");Student s2=new Student("20053051105","王五",21,"男","湖北","wangwu@","12345908846");Student s3=new Student("20053051106","刘萍",22,"女","江西","zsan@","12345908965");Student s4=new Student("20053051107","黄志彬",21,"男","湖北","huang@","12345778849");//将学生信息写入数据库ss.insertStudent(s1);ss.insertStudent(s2);ss.insertStudent(s3);ss.insertStudent(s4);//查找指定学号学生//ss.selectNo("20053051101");//修改学生信息//ss.updateStudent(s);//删除指定学号学生信息//ss.deleteNo("20053051102");//显示所有学生信息ss.selectAll();//关闭数据库连接ss.closeConn();}}增加4条记录并显示:查找学号为"20053051106" 的学生:class MainStudent{public static void main(String args[])throws Exception{ //创建数据库操作类实例StudentSystem ss=new StudentSystem();//创建学生对象//查找指定学号学生ss.selectNo("20053051106");ss.closeConn();}}删除学号为"20053051106" 的学生:class MainStudent{public static void main(String args[])throws Exception{ //创建数据库操作类实例StudentSystem ss=new StudentSystem();//创建学生对象//删除指定学号学生信息ss.deleteNo("20053051106");//显示所有学生信息ss.selectAll();//关闭数据库连接ss.closeConn();}}观察,学号为"20053051106" 的学生即“刘萍”被删除了。

javawebjdbc报告总结

javawebjdbc报告总结

Java Web应用中使用JDBC进行数据库操作的总结报告一、引言Java Database Connectivity (JDBC) 是Java编程语言中用于访问关系数据库的一个应用程序接口。

在Java Web应用中,JDBC常常被用于与数据库进行交互,以实现数据的存储、检索和管理。

本报告将对Java Web应用中使用JDBC进行数据库操作的经验和最佳实践进行总结。

二、JDBC操作流程1.加载并注册JDBC驱动:在Java Web应用中,通常在web应用的部署描述符(web.xml)中配置JDBC驱动,使其在应用启动时自动加载。

2.建立数据库连接:使用java.sql.Connection接口的静态方法getConnection()来建立与数据库的连接。

需要提供数据库的URL、用户名和密码等参数。

3.创建Statement或PreparedStatement对象:使用java.sql.Statement或java.sql.PreparedStatement接口创建查询或更新数据库的SQL语句对象。

4.执行SQL语句:使用Statement或PreparedStatement对象的executeQuery()或executeUpdate()方法执行SQL语句。

5.处理结果集:对于SELECT语句,使用ResultSet接口处理查询结果;对于UPDATE、INSERT或DELETE语句,使用int类型变量接收受影响的行数。

6.关闭连接和清理资源:使用java.sql.Connection、java.sql.Statement和java.sql.ResultSet接口的close()方法关闭连接和清理资源。

三、最佳实践1.使用连接池管理数据库连接:通过使用连接池(如C3P0、HikariCP等),可以有效地管理和复用数据库连接,提高系统性能和稳定性。

2.使用PreparedStatement:相比于Statement,PreparedStatement能够提供更好的性能和安全性,因为它可以预编译SQL语句并缓存执行计划,同时防止SQL注入攻击。

简要说明jdbc连接数据库的步骤

简要说明jdbc连接数据库的步骤一、引入JDBC驱动在使用JDBC连接数据库之前,首先需要引入相应的JDBC驱动。

不同的数据库有不同的驱动,需要根据实际情况选择合适的驱动。

通常情况下,驱动的jar包会提供给开发者使用,需要将其导入到项目中。

二、加载驱动类在使用JDBC连接数据库之前,需要先加载驱动类。

加载驱动类可以通过Class.forName()方法实现,该方法接收一个参数,即驱动类的全限定名。

例如,对于MySQL数据库,加载驱动类的代码如下所示:Class.forName("com.mysql.jdbc.Driver");三、建立数据库连接在加载驱动类之后,可以通过DriverManager的getConnection()方法建立与数据库的连接。

getConnection()方法接收三个参数,分别是数据库的URL、用户名和密码。

其中,URL是连接数据库的地址,用户名和密码用于认证身份。

例如,连接MySQL数据库的代码如下所示:String url = "jdbc:mysql://localhost:3306/test";String username = "root";String password = "123456";Connection connection = DriverManager.getConnection(url, username, password);四、创建Statement对象在建立与数据库的连接之后,需要创建一个Statement对象,用于执行SQL语句。

Statement对象可以通过Connection的createStatement()方法创建。

例如,创建Statement对象的代码如下所示:Statement statement = connection.createStatement();五、执行SQL语句在创建Statement对象之后,可以通过Statement对象的executeQuery()方法执行SQL查询语句,或者通过executeUpdate()方法执行SQL更新语句。

Java应用教程_10Chapter


2013年8月31日星期六
基本SQL语句

基本的SQL语句包括DQL和DML。也就 是对数据库最常用的四大基本操作:查 询(Select)、插入(Insert)、更新 (Update)和删除(Delete)2013年8月31日星来自六DQL的3种基本格式


1. 基本句型一:(最简单的SELECT语句) SELECT 字段名 FROM 数据表 例1. SELECT * FROM grade 功能说明:将grade表中的所有字段取出来。 例2. SELECT 学号,姓名 FROM grade 功能说明:将grade表中学号和姓名字段取出来。 例3. SELECT学号,姓名,语文+数学+英语 as 总成绩 FROM grade 功能说明:将grade表中的学号和姓名取出来,并将语 文、数学和英语成绩相加产生虚拟列总成绩。
2013年8月31日星期六
SQL语句分类
SQL分类 数据定义语言 (DDL) 数据操纵语言 (DQL) 数据操纵语言 (DML) 事务控制语言 (TCL) 数据控制语言 (DCL) 描述 数据定义语言(DDL)用于定义、修改或者删除数据库对象, 如Create Table等 数据查询语句(Data Query Language,DQL)用于对数据进行 检索。如最常用的Select语句 数据操纵语言(DML)用于访问、建立或者操纵在数据库中 已经存在数据,如Select、Insert、Update和Delete等等。 事务控制语言(Transact Control Language)管理DML语句所 做的修改,是否保存修改或者放弃修改。如:Commit、 Rollback、Savepoint、Set Transaction等命令。 数据控制语言(DCL)管理对数据库内对象的访问权限和授予 和回收,如Grant、Revoke等等。

第10章:网络与数据库编程


10.1.1 IP地址和InetAddress类
Java语言可编写低层的网络应用。例如,
传输文件, 建立邮件控制器, 处理网络数据。
Java语言支持的Internet协议有ftp、telnet、www 等,支持网络通信的软件都在包中, 例如:
.ftp, .www等。
10.1.1 IP地址和InetAddress类
IP地址用于指明因特网上的一台计算机在网络中的地址,用 32 位二进制代 码表示一个网络地址。
IP地址用点分十进制表示。
地址分A、B、C、D、E五类,常用的是A、B、C三类:
A(1.0.0.0-126.255.255.255),0, 7位网络号,后24位为主机号。 B(128.0.0.0-191.255.255.255),10, 14位网络号, 后16位为主机号 C (192.0.0.0-223.255.255.255), 110, 21位网络号, 后8位为主机号 D (224.0.0.0-239.255.255.255), 1110, 28位多点广播组标号. E (240.0.0.0-254.255.255.255), 1111, 保留试验使用。


然后,就可以用流的方法访问网上资源。
网上资源使用结束后,数据流也应及时关闭。用close() 关闭建立的流。
URL url = new URL(urlName);//由网址创建URL对象
URLConnection tc = url.openConnectin();//获得URLConnection对象
Java语言的优势之一是Java程序能访问网络资源
1. TCP/IP协议和IP地址
为了进行网络通信,通信双方必须遵守通信协议。目前 最广泛使用的是TCP/IP协议族

jdbc使用步骤

jdbc使用步骤JDBC使用步骤JDBC(Java Database Connectivity)是Java程序连接数据库的一种标准接口。

通过JDBC,我们可以在Java程序中访问和操作各种数据库。

下面将介绍使用JDBC连接数据库的步骤。

1. 导入JDBC相关的包在Java程序中使用JDBC,首先需要导入JDBC相关的包。

通常使用的包包括java.sql和javax.sql。

可以使用import语句导入这些包,以便在代码中使用JDBC提供的类和接口。

2. 加载数据库驱动程序在使用JDBC之前,需要先加载数据库驱动程序。

驱动程序是一个Java类,用于与特定的数据库进行通信。

不同的数据库有不同的驱动程序,需要根据使用的数据库选择相应的驱动程序。

可以使用Class类的forName()方法来动态加载驱动程序。

3. 建立数据库连接在加载了数据库驱动程序之后,就可以建立与数据库的连接了。

首先需要创建一个Connection对象,该对象表示与数据库的物理连接。

可以使用DriverManager类的getConnection()方法来建立数据库连接。

该方法接收数据库的URL、用户名和密码等参数,返回一个代表数据库连接的Connection对象。

4. 创建Statement对象在建立了数据库连接之后,就可以创建Statement对象了。

Statement对象用于向数据库发送SQL语句并接收执行结果。

可以通过Connection对象的createStatement()方法来创建Statement对象。

5. 执行SQL语句通过Statement对象可以执行SQL语句。

可以使用Statement对象的executeUpdate()方法执行更新操作(如插入、删除、修改),该方法返回一个整数,表示受影响的行数。

可以使用Statement对象的executeQuery()方法执行查询操作,该方法返回一个ResultSet对象,表示查询结果集。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13
JDBC数据库设计方法(3)
Java小应用程序 客户机 (applet)
HTTP RMI调用
业务逻辑中间 层
应用服务器
Web服务器 O/R映射中间层 JDBC
DBMS 专用协议
DB服务器
DBMS
JDBC四层应用模型
14

在两层模型中,一个Java Applet或者一个Java应用直接同数据 库连接。
前言

需要开放的数据库连接,就是人们需要用一种新 的方法来访问不同的数据库。为此,在系统中必 须广泛使用中间件技术,以隐藏各种复杂性,屏 蔽各种系统之间的差异。 ODBC(Open DataBase Connectivity)技术和 JDBC(Java DataBase Connectivity) 技 术 就 是这种优秀的中间件技术。
19

JDBC的目的,是让Java程序设计人员在编写数据库操作 程序的时候,可以有个统一的操作接口,无需依赖于特 定的数据库API,希望达到“写一个Java程序,适用所有 的数据库”的目的。
20
Java应用1
Java应用n
JDBC
Oracle
MySQL
SQL Server
21
JDBC驱动程序类型
24
TYPE 2 Native-API Bridge

TYPE 2驱动程序: 部分本地API Java驱动程序:将标准的JDBC调用转换为 对数据库API的本地调用,这类驱动程序要求客户端计算 机安装相应的二进制代码。Native API驱动程序利用客户 机上的本地代码库与数据库进行直接通信。

10.1.1 JDBC的用途

JDBC主要有3种作用,分别是: 与数据库连接 发送SQL语句 处理语句执行结果。 同时,JDBC是一种低级的API接口,它直接调用SQL 语句,功能简单,在它的基础上可以建立起一些高级 的API接口,高级API接口往往使用更为方便且便于理 解。通过JDBC,可以很方便地向各种关系数据发送 SQL语句并获得执行结果。
10.1.2 JDBC的典型用法

JDBC支持两层模型,也支持三层模型访问数据库。
JDBC数据库设计方法(1)
Java应用程序 客户机 或者Applet JDBC
DBMS 专用协议
DB服务器
DBMS
JDBC两层应用模型
10

在两层模型中,Java Applet或Java Application将直接与数据库进行对话。其中需 要一个JDBC Driver来与所访问的特定数据库管 理系统进行通信。用户的 SQL 语句被送往数据 库中,返回其结果给用户。数据库可以存放在本 地机或者是网络服务器上,Java 应用程序也可 以通过网络访问远程数据库,如果数据库存放于 网络计算机上,则是典型的客户/服务器模型应 用。应用程序虽然可以是Java的Application或 Applet,但是这种模型限制较多,比较适合 Application,而不太适合Applet。

3
前言-数据库访问技术简介
数据库编程 执行 SQL 语句
客户机/服务器 应用程序
数据库
检索查询结果
ODBC
JDBC
两个常用的API
4
ODBC
应用程序编程接口 插入 修改
客户机/服务器 GUI应用程序
ODBC (开放式数据库连接) (Microsoft 提供)
数据库
删除
查询
5
JDBC
Java 应用程序编 程接口 插入 修改
JDBC驱动器



JDBC是Java Web 应用程序开发中主要的API之一,负责对 数据库的访问。 在对数据库进行访问时java应用程序首先调用JDBC API, 然后把访问语句提交给JDBC驱动器从而实现访问数据 库的操作. JDBC主要包括了2个包: java.sql主要针对基本的数据库编程服务如连接,执行语 句. javax.sql主要为数据库的高级操作提供接口和类,引入 了容器管理的连接池和分布式事物等. JDBC软件包本身不能连接数据库,它只是一个API框架,需 要通过数据库驱动程序或其他软件包提供方法.
29
30

对于项目,查看它的JRE系统库
31
10.3 使用JDBC操作数据库

JDBC的接口分为两个层次:一个是面向程序开发人员的 JDBC API,另外一个是底层的JDBC Driver API。
Java Application JDBC API JDBC Manager JDBC Driver API Driver A Driver B
25
TYPE 3 JDBC网络纯java驱动器
26
TYPE 3

JDBC纯网络Java驱动程序:能将JDBC的调用转换 为独立于数据库的网络协议。这种类型的驱动程 序特别适合于具有中间件的分布式应用。
DBMS
27
TYPE 4 Pure Java Driver

TYPE 4是一种纯Java的驱动实现,他不需要任何客户端配 置。 本地协议的纯Java驱动程序能将JDBC调用转换为数据库直 接使用的网络协议,是100%的Java程序,使用Java Sockets来连接数据库,所以特别适合于通过网络使用后 台数据库的Applet。
第10章 应用JDBC进行数据库开发
本章学习目标:

了解JDBC的用途、体系结构和驱动器类型。 了解JDBC连接数据库的方法。 掌握JDBC访问数据的过程。 掌握Statement接口及相关常用方法。 掌握PreparedStatement接口及相关常用方法。 了解CallableStatement接口。 掌握ResultSet处理结果集。 了解使用JDBC连接其他数据库。 掌握连接池的原理及如何配置。 熟悉从数据库中存取各种二进制文件。 熟悉分页技术。
处理驱动程序的调用并对后续数据库连接提供支持 处理特定的数据库连接 代表一个特定的SQL执行语句 代表一个预编译的SQL执行语句 代表一个内嵌过程的SQL调用语句 控制一个特定的SQL语句的执行结果
10.3.1 使用JDBC访问数据库的 过程

JDBC访问数据库可以分为连接数据库和操作数据库两个步 骤。
11
JDBC数据库设计方法(2)
客户机 Java小应用程序 (applet)
HTTP RMI调用
业务逻辑中间 层
应用服务器
Web服务器 JDBC
DBMS 专用协议
DB服务器
DBMS
JDBC三层应用模型
12

在三层模型中,客户通过浏览器调用Java 小应用程序, 小应用程序通过JDBC API提出SQL请求,请求先是被发 送到服务的"中间层",也就是调用小应用程序的Web服 务器,在服务器端通过JDBC与特定数据库服务器上的数 据库进行连接,由数据服务器处理该SQL语句,并将结 果送回到中间层,中间层再将结果送回给用户,用户在 浏览器中阅读最终结果。中间层为业务逻辑层,可利用 它对公司数据进行访问控制。中间层的另一个好处是, 用户可以利用易于使用的高级API,而中间层将把它转 换为相应的低级调用。最后,许多情况下,三层结构可 使性能得到优化,并提高安全保证。
ODBC/JDBC Client端 数据库专用协议

Server端 (DBMS)
这就需要与数据库进行连接的JDBC驱动器。 用户的SQL语句被传送给数据库, 这些语句执行的结果将被返回给用户。

在三层模型中,命令将被发送到服务的“中间层”,而 “中间层”将SQL语句发送到数据库。
HTTP、RMI、 CORBA 客户端 中间服务器 JDBC 数据库服务器
28
安装驱动器、使用驱动器

把mysql-connector-java-5.0.4.zip解压缩,把其中的mysql-connectorjava-5.0.4-bin.jar文件拷到相应的目录下 1、对应用程序来说,拷贝到jre目录下的lib目录下的ext目录下 (C:\Program Files\Java\jre1.5.0_04\lib\ext),这是java的“系 统扩展库”目录,其下文件会被java运行环境自动加载,可消除 找不到jdbc驱动程序的现象。 如果还找不到可采用如下面两个图所示添加外部JRE把JDBC添 加进来 2、对于WEB应用来说,拷贝到C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib路径下 此文件就是JDBC驱动
驱动管理器 加载JDBC驱动程序
连接
建立与数据库的连接
SQL语句
发送SQL查询
结果集
得到查询结果
JDBC 程序访问数据库的步骤 2-1
开始
导入 java.sql包
加载并注册驱动程序
查询 添加 删除 修改 创建一个 Statement 对象 执行语句
创建一个 Connection 对象
关闭连接
1. 2. 3. 4. JDBC-ODBC桥驱动程序 部分本地API Java驱动程序 JDBC纯网络Java驱动程序 本地协议的纯Java驱动程序
JDBC体系结构
JDBC-ODBC桥 (Type 1) ODBC 驱动 JDBC-Native (Type 2) Native API (C/C+ype 3)
纯Java JDBC驱 动(Type 4)
Net Server (JNDI)
RDBMS
23
TYPE 1 JDBC-ODBC Bridge

TYPE 1驱动程序: 是JDBC-ODBC桥连接方式 通常运行在Windows系统上 需要在客户机上安装ODBC驱动程序
相关文档
最新文档