JDBC编程课件PPT.ppt
《JDBC编程课件PPT.ppt》由会员分享,可在线阅读,更多相关《JDBC编程课件PPT.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第18章 JDBC编程第第18章章 JDBC编程编程18.1 数据库简介数据库简介 18.2 JDBC基基本概念本概念18.3 JDBC编编程程18.4 JDBC-ODBC编程编程18.5 JDBC编程进阶编程进阶第18章 JDBC编程18.1 数据库简介数据库简介 n 关系型数据库关系型数据库 关系型数据库是当前数据库的主流技术,常用的数据关系型数据库是当前数据库的主流技术,常用的数据库有库有Oracle,SQL Server,DB2,SyBase等,其能保存数等,其能保存数据本身和数据之间的关系,并提供强大的管理和查询功能。据本身和数据之间的关系,并提供强大的管理和查询功能。第18章 JD
2、BC编程18.1 数据库简介数据库简介 n SQL语言语言 SQL(Structured Query Language)是使用关系模型)是使用关系模型的数据库语言,用于和各种数据库的连接,提供通用的数的数据库语言,用于和各种数据库的连接,提供通用的数据管理和查询语言。其常用的指令有:据管理和查询语言。其常用的指令有:select,insert,delete,update,create,drop第18章 JDBC编程18.1 数据库简介数据库简介 n ODBC ODBC(Open DataBase Connectivity)的含义是开)的含义是开放数据库连接,是微软公司开发的一套数据库系统应用程
3、放数据库连接,是微软公司开发的一套数据库系统应用程序接口规范,它支持应用程序以标准的序接口规范,它支持应用程序以标准的ODBC函数和函数和SQL语句操作各种不同的数据库。语句操作各种不同的数据库。第18章 JDBC编程应用程序驱动程序管理器Oracle驱动程序驱动程序驱动程序SQL Server其他数据库ODBC工作原理工作原理第18章 JDBC编程18.2 JDBC基本概念基本概念 n JDBC概述概述 由于由于ODBC模型的成功,模型的成功,JDBC(Java DataBase Connectivity)也遵循了这个模型。应用程序首先和)也遵循了这个模型。应用程序首先和JDBC驱动程序管理
4、器通信,由管理器来选择驱动程序访问数据驱动程序管理器通信,由管理器来选择驱动程序访问数据库。库。第18章 JDBC编程Java应用程序JDBC驱动程序管理器JDBC/ODBC桥供应商提供的JDBC驱动程序ODBC驱动程序数据库数据库JDBC工作原理工作原理第18章 JDBC编程类型一:类型一:将将JDBC翻译为翻译为ODBC,然,然后使用后使用ODBC驱动程序和驱动程序和DB通通信。信。注意:注意:1、必须先安装、必须先安装ODBC驱动程序驱动程序和配置和配置ODBC数据源。数据源。2、仅当特定的数据库系统没有、仅当特定的数据库系统没有相应的相应的JDBC驱动程序时使用。驱动程序时使用。App
5、lication SpaceJava ApplicationJDBC ODBC BridgeDatabaseSQLCommandResultSetODBC DriverProprietaryProtocol第18章 JDBC编程类型二:类型二:由部分由部分Java程序和部分本程序和部分本地代码组成,用于和数据库的地代码组成,用于和数据库的API进行通信。进行通信。(JDBC中的命令中的命令被转换为本地库中的方法被转换为本地库中的方法)注意:注意:需要先安装和特定数据库需要先安装和特定数据库操作的方法。操作的方法。Application SpaceJava ApplicationType 2 J
6、DBC DriverDatabaseSQLCommandResultSetNative DatabaseLibraryProprietaryProtocol第18章 JDBC编程类型三:类型三:纯纯Java程序,它使用一种程序,它使用一种与具体数据库无关的协议将数与具体数据库无关的协议将数据库请求发送给一个中间件服据库请求发送给一个中间件服务器,然后由它把该请求翻译务器,然后由它把该请求翻译为特定的数据库协议,并发送为特定的数据库协议,并发送给数据库系统,从数据库系统给数据库系统,从数据库系统获得的结果先发送给中间件服获得的结果先发送给中间件服务器,并进而返回给应用程序。务器,并进而返回给应用
7、程序。Application SpaceJava ApplicationType 3 JDBC DriverDatabaseSQLCommandResultSetMiddleware SpaceProprietaryProtocolJDBC Driver第18章 JDBC编程类型四:类型四:纯纯Java的驱动程序,的驱动程序,直接与特定的数据库系统通直接与特定的数据库系统通信。直接将信。直接将JDBC命令转换命令转换为数据库系统的本地协议。为数据库系统的本地协议。没有中间的转换,提没有中间的转换,提高了数据库的访问性能。高了数据库的访问性能。Application SpaceJava Appl
8、icationType 4 JDBC DriverDatabaseSQL CommandUsing ProprietaryProtocolResult SetUsing ProprietaryProtocol第18章 JDBC编程18.2 JDBC基本概念基本概念 n JDBC基本概念基本概念 n DriverManager:负责选取数据库驱动程序和建:负责选取数据库驱动程序和建 立新的数据库连接。立新的数据库连接。n Driver(由驱动程序开发商提供):将应用程序(由驱动程序开发商提供):将应用程序 的的API请求转换为特定的数据库请求。请求转换为特定的数据库请求。第18章 JDBC编程1
9、8.2 JDBC基本概念基本概念 n Connection:将应用程序连接到特定的数据库将应用程序连接到特定的数据库n Statement(PreparedStatement):在一个给定的在一个给定的连接中,用于执行一个静态连接中,用于执行一个静态(动态动态)的数据库的数据库SQL语语句。句。n ResultSet(可以没有可以没有,如在执行更新操作后如在执行更新操作后):SQL语句执行完后,返回的数据结果集(包括行、语句执行完后,返回的数据结果集(包括行、列)列)第18章 JDBC编程DriverManagerConnectionStatementResultSetDriverDataba
10、seCreatesCreatesCreatesSQLResult(tuples)EstablishLink to DBJDBC的工作流程的工作流程第18章 JDBC编程18.3 JDBC编程编程 nJDBC编程的基本步骤编程的基本步骤 加载驱动程序加载驱动程序:Class.forName(“driverName”);建立数据库连接建立数据库连接:con=DriverManager.getConnection(“jdbc:xxx:datasource”,“用户名用户名”,“密码密码”);第18章 JDBC编程18.3 JDBC编程编程 提交查询提交查询:stmt=con.createStatem
11、ent();rsstmt.executeQuery(“Select*from myTable”);处理结果集处理结果集:while(rs.next()name=rs.getString(“name”);“String”为数据类型为数据类型 第18章 JDBC编程【例题例题18-1】查询演示查询演示 public class DBSelectDemo public static void main(String args)Connection conn=null;Statement stmt;ResultSet rs;try String sql=select*from archive;18.3
12、 JDBC编程编程第18章 JDBC编程/加载驱动程序Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver);/建立连接conn=DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433;+DatabaseName=studentarchive,sa,);/建立声明stmt=conn.createStatement();/执行SQL,返回数据集rs=stmt.executeQuery(sql);第18章 JDBC编程 while(rs.next()S
13、ystem.out.println(学号:+rs.getString(number)+姓名:+rs.getString(name);rs.close();stmt.close();conn.close();catch(Exception e)System.out.println(e);第18章 JDBC编程程序运行结果:程序运行结果:第18章 JDBC编程【例题例题18-2】插入、更新和删除演示插入、更新和删除演示 public class DBInsertUpdateDeleteDemo public static void main(String args)Connection conn=
14、null;Statement stmt;ResultSet rs;try String sql=select*from demo;18.3 JDBC编程编程第18章 JDBC编程/加载驱动程序Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);/建立连接conn=DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433;+DatabaseName =studentarchive,sa,);/建立声明stmt=conn.createStatement
15、();stmt.executeUpdate(“delete from demo);第18章 JDBC编程 stmt.executeUpdate(insert into demo values(101,张三,18);stmt.executeUpdate(insert into demo values(102,李四,22);stmt.executeUpdate(insert into demo values(103,王五,34);/执行SQL,返回数据集rs=stmt.executeQuery(sql);display(rs);rs.close();stmt.executeUpdate(updat
16、e demo set age=age+10);stmt.executeUpdate(delete from demo where number=102);System.out.println(更新、删除后:);第18章 JDBC编程 rs=stmt.executeQuery(sql);display(rs);rs.close();stmt.close();conn.close();catch(Exception e)System.out.println(e);第18章 JDBC编程 public static void display(ResultSet rs)try while(rs.nex
17、t()System.out.println(学号:+rs.getString(number)+姓名:+rs.getString(name)+年龄:+rs.getString(3);catch(SQLException e)e.printStackTrace();第18章 JDBC编程程序运行结果:程序运行结果:第18章 JDBC编程18.3 JDBC编程编程 n 获取数据库元数据获取数据库元数据 元数据(元数据(Meta-Data)也称为)也称为“关于数据的数据关于数据的数据”,在关系型数据库中,元数据描述了所存储数据的结,在关系型数据库中,元数据描述了所存储数据的结构及其他信息。构及其他信息
18、。利用利用JDBC也可以获取各种元数据,如表的数量和也可以获取各种元数据,如表的数量和名称、表的结构和约束等。名称、表的结构和约束等。第18章 JDBC编程【例题例题18-3】元数据演示元数据演示 public class DBMetaDataDemo public static void main(String args)Connection conn=null;Statement stmt;ResultSet rs;try String sql=select*from archive;18.3 JDBC编程编程第18章 JDBC编程/加载驱动程序Class.forName(com.micr
19、osoft.jdbc.sqlserver.SQLServerDriver);/建立连接conn=DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433;+DatabaseName =studentarchive,sa,);DatabaseMetaData dmd=conn.getMetaData();System.out.println(数据库名称:+dmd.getDatabaseProductName();System.out.println(数据库版本:+dmd.getDatabaseProductVersi
20、on();System.out.println(驱动程序:+dmd.getDriverName()+n);第18章 JDBC编程/建立声明stmt=conn.createStatement();/执行SQL,返回数据集rs=stmt.executeQuery(sql);ResultSetMetaData rsmd=rs.getMetaData();int count=rsmd.getColumnCount();System.out.println(列序号 t列名称tt数据类型);for(int i=1;i 【管理工管理工具具】【数据源(数据源(ODBC)】【用户用户DSN】【添加添加】选择驱动
21、程序选择驱动程序 命名数据源命名数据源【完成完成】连接并操作连接并操作ODBC数据源:与数据源:与JDBC大致相同大致相同 驱动程序改成驱动程序改成“sun.jdbc.odbc.JdbcOdbcDriver”连接字符串改成:连接字符串改成:“jdbc:odbc:ODBC数据源数据源名称名称”第18章 JDBC编程【例题例题18-4】JDBC-ODBC数据源演示数据源演示 public class JDBCODBCDemo public static void main(String args)Connection conn=null;Statement stmt;ResultSet rs;tr
22、y String sql=select*from mytable;18.4 JDBC-ODBC编程编程 第18章 JDBC编程/加载驱动程序Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/建立连接conn=DriverManager.getConnection(jdbc:odbc:xjjaccess);/建立声明stmt=conn.createStatement();/执行SQL,返回数据集rs=stmt.executeQuery(sql);while(rs.next()System.out.println(学号:+rs.getString(numbe
23、r)+姓名:+rs.getString(name);第18章 JDBC编程 rs.close();stmt.close();conn.close();catch(Exception e)System.out.println(e);第18章 JDBC编程程序运行结果:程序运行结果:第18章 JDBC编程18.5 JDBC编程进阶编程进阶n 使用属性文件配置运行环境信息使用属性文件配置运行环境信息 为提高程序的可移植性,或者出于安全性考虑,也为提高程序的可移植性,或者出于安全性考虑,也可以不在程序中直接给出数据库连接信息,而是将之保可以不在程序中直接给出数据库连接信息,而是将之保存到专门的属性文件
24、中,然后在程序中将数据库连接信存到专门的属性文件中,然后在程序中将数据库连接信息读出并使用。息读出并使用。第18章 JDBC编程【例题例题18-5】属性文件演示属性文件演示 属性文件属性文件#sql 2000 information driver_name=com.microsoft.jdbc.sqlserver.SQLServerDriver db_url=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=studentarchive username=sa password=18.5 JDBC编程进阶编程进阶第18章 JDBC编程【
25、例题例题18-5】属性文件演示属性文件演示 public class PropertiesDemo public static void main(String args)Connection conn=null;Statement stmt;ResultSet rs;try String sql=select*from archive;18.5 JDBC编程进阶编程进阶第18章 JDBC编程 Properties ps=new Properties();FileInputStream fis=new FileInputStream(sql2000db.properties);ps.load(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JDBC 编程 课件 PPT
限制150内