java课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Connection conn=DriverManager.getConnection (“jdbc:odbc:myDB” , ”li”,”1234”);
绪 论 用JDBC访问数据库
三.建立SQL语句对象: Statement对象用来向数据库发送查询和命令. Statement stmt=conn.CreateStatement(); 四.执行SQL语句: 我们可以通过SQL语句对数据库进行查询、修改或添加数据。建立SQL 语句对象后,就可用executeQuery(String s)方法来执行Select语句,用 executeUpdate(String s )来执行Insert、Delete、Update语句。 五.结果处理.使用ResultSet的next方法在结果集中移动,每次移动一行. 在每一行中,ResultSet提供了各种getX方法.它们以列名或索引为参数.如 getInt getString等方法. 六.关闭连接: Con.close();
绪论
1 关系数据库简介
关系数据库是当前信息管理的主流技术,和网络一起组成信息技术的基 础设施。
目前的主流大型关系型数据库产品有:IBM DB/2、甲骨文公司 的 Oralce9i/10g、Microsoft SQLServer2000/2005、Sybase公司的Adaptive Server Enterprise (ASE) 等.IEEE
5. ResultSet :记录的集合。
绪 论 3 用JDBC访问数据库
Driver Manager
创建 Connection 创建
Statement
ResultSet
执行SQL
返回结果
Driver
数据库
绪 论 3 用JDBC访问数据库
Java中用JDBC访问数据库有6个步骤: 一.加载JDBC驱动程序:自动创建驱动程序的实例,并注册到JDBC驱动程序管 理器. Class.forName(JDBC驱动程序名); 注:要确保驱动程序的Jar包在classpath中, C:\oracle\ora92\jdbc\lib\classes12.jar 例如:
3. Connection :一个Connection对象表示在一个特定数据库上建立的 一个连接,需要由它来创建不同的声明 (Statement,PreparedStatement, CallableStatement )来执行特定 的SQL语句。
4. Statement (PrepareStatement,CallableStatement )在一个给定的 连接中,用于执行一个SQL语句并返回相应结果的对象。
CallableStatement cs = conn.preparedCall (“{? = call存储过程名(?,?,?)}”)
绪 论 CallableStatement
实例 1.定义存储过程:
--输入用户名和密码,输出1代表登录成功或0指定用户不存在或密码错!
CREATE OR REPLACE PROCEDURE p_validate (uname IN VARCHAR2,psw in VARCHAR2,num out number) AS BEGIN
CRUD操作:(Create Read Update Delete)。
绪论
2 ODBC
ODBC(Open DataBase Connectivity): Microsoft公司开发的一套开发 数据库系统应用程序的规范,它相当于一个转换开关,负责将应用程序发送 来的标准SQL语句传递给各种数据库驱动程序处理,再将处理结果送回应用 程序。于是,应用程序开发者只需面对统一的ODBC数据源,而不必针对各 种数据库进行不同的设置。这样的程序具备良好的适应性和可移植性。
Lecture JDBC编程
邯郸学院计算机 张延军
Zhang Yan-jun Department of Computer, Handan College
来自百度文库 绪论
Outline
1. 关系数据库简介
2. ODBC 3. JDBC 概述 4. 用JDBC访问数据库 5. 数据库连接Connection 6. 语句对象Statement 7. 结果集ResultSet 8. 事务处理 9. PrepareStatement 10. 用CallableStatement调用存储过程
1. 通过列名来获取某个字段的数据. 2. 通过列的索引(从1开始)获取某个字段的数据 . 数据类型的转换
SQL数据类型 CHAR VARCHAR2 NUMBER DATE
Java数据类型 String String int java.sql.Date
绪 论 CallableStatement
调用Oracle存储过程、函数时必须创建CallableStatement对象 : 1.不带参数的存储过程
CallableStatement cs = conn.preparedCall (“{call存储过程名()}”);
2.传入IN参数的存储过程
CallableStatement cs = conn.preparedCall (“{call存储过程名(?,?,?)}”);
3.传入IN或者OUT参数的存储过程
Statement
Statement对象由Connection对象创建。 Statement主要方法 executeQuery ()执行查询语句 ,返回ResultSet对象. Statement st=null; ResultSet rs = st. executeQuery(“seletct * from student”); executeUpdate()执行insert,delete以及update等DML语句 。 int i = st.executeUpdate(“update employees set firstname= ‘zyj’ where employee_id=112”);
绪 论 事务Transaction
事务的定义:指用户自己组织的一个数据库操作序列(多个SQL语句), 这些操作要么全做,要么全不做,是一个不可分割的工作单位。
开始事务,设置conn.setAutoCommit(false); 事务执行完毕,执行commit();否则执行rollback();
绪论
SELECT count(*) INTO num FROM student WHERE trim(username)=uname and trim(password)=psw; END p_validate; 2.调用无返回值的存储过程: CallableStatement proc = null; proc = conn.prepareCall("{ call HYQ.TESTA(?,?) }"); proc.setString(1, "100"); proc.setString(2, "TestOne"); proc.execute();
绪论
3 JDBC概述
为支持Java程序的数据库操作功能,Java语言采用了专门的Java数据库 编程接口(JDBC:JavaDataBaseConnectivity),用于在Java程序中实现数据 库操作功能并简化操作过程。JDBC支持SQL语句,提供多样化的数据库连 接方式,为各种不同的数据库提供统一的操作界面。
绪 论 CallableStatement
4.返回ResultSet: CallableStatement proc = null; proc = conn.prepareCall("{ call hyq.testc(?) }"); proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURS OR); proc.execute(); rs = (ResultSet)proc.getObject(1); while(rs.next()){ System.out.println(rs.getString(1)+”|”+rs.getString(2)); }
绪 论 PreparedStatement
可以接受带有参数的SQL语句,这些参数的位置先由占位符表示。如 ? 每个占位符必循在语句执行前,使用set方法提供。 PreparedStatement对象由于预先编译了,所以执行速度快
绪论
ResultSet
resultSet对象的获得: 通常执行一个Select查询语句后,会返回一个结果集. 获取结果集中的数据:
绪 论 数据库连接Connection
通用格式: Connection conn= DriverManager.getConnection(String url,String name, String password); url代表数据库的资源定位
1. 格式:jdbc:驱动器类型:数据库资源 2. thin是连接Oracle的一种模式。 conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost: 1521:ora", "hdc", "tiger");
绪 论 CallableStatement
3.调用有返回值的存储过程: CallableStatement proc = null; proc = conn.prepareCall("{ call HYQ.TESTB(?,?) }"); proc.setString(1, "100"); proc.registerOutParameter(2, Types.VARCHAR); proc.execute(); String testPrint = proc.getString(2);
Class.forName(“oracle.jdbc.driver.OracleDriver”); Class.forName(“com.MySql.jdbc.Driver”); Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”); 二.连接数据库: Connection 连接变量=DriverManager.getConnection(DBURL,用户帐号,密 码); 如果连接成功,将返回一个Connection对象,以后所有对这个数据库的操作均 可使用这个对象来进行。如:
绪论
绪 论 Question And Answer
微机数据库产品:MySQL、Foxpro的DBF、Access等。
数据库,准确地说,应为数据库管理系统DBMS(DataBase Management System)能保存数据本身及数据之间的联系并提供强大的管理、 查询功能。
SQL(Structured Query Language)是使用关系模型的数据库语言,用 于和各类数据库连接,提供通用的数据库管理和查询功能。
绪论
3 JDBC概述
JDBC用途:
1. 与特定的数据库进行连接
2. 向数据库发送SQL语句,实现对数据库的特定操作
3. 对数据库返回出来的结果进行处理
JDBC API:
1. Driver :用来将应用程序的API请求转换为特定的数据库请求,由它 来负责和数据库打交道。
2. DriverManager :接口,不同的驱动程序必须首先到DriverManager 中注册,以便用户来使用。用来产生一个和数据库连接的对象 Connection。
绪 论 用JDBC访问数据库
三.建立SQL语句对象: Statement对象用来向数据库发送查询和命令. Statement stmt=conn.CreateStatement(); 四.执行SQL语句: 我们可以通过SQL语句对数据库进行查询、修改或添加数据。建立SQL 语句对象后,就可用executeQuery(String s)方法来执行Select语句,用 executeUpdate(String s )来执行Insert、Delete、Update语句。 五.结果处理.使用ResultSet的next方法在结果集中移动,每次移动一行. 在每一行中,ResultSet提供了各种getX方法.它们以列名或索引为参数.如 getInt getString等方法. 六.关闭连接: Con.close();
绪论
1 关系数据库简介
关系数据库是当前信息管理的主流技术,和网络一起组成信息技术的基 础设施。
目前的主流大型关系型数据库产品有:IBM DB/2、甲骨文公司 的 Oralce9i/10g、Microsoft SQLServer2000/2005、Sybase公司的Adaptive Server Enterprise (ASE) 等.IEEE
5. ResultSet :记录的集合。
绪 论 3 用JDBC访问数据库
Driver Manager
创建 Connection 创建
Statement
ResultSet
执行SQL
返回结果
Driver
数据库
绪 论 3 用JDBC访问数据库
Java中用JDBC访问数据库有6个步骤: 一.加载JDBC驱动程序:自动创建驱动程序的实例,并注册到JDBC驱动程序管 理器. Class.forName(JDBC驱动程序名); 注:要确保驱动程序的Jar包在classpath中, C:\oracle\ora92\jdbc\lib\classes12.jar 例如:
3. Connection :一个Connection对象表示在一个特定数据库上建立的 一个连接,需要由它来创建不同的声明 (Statement,PreparedStatement, CallableStatement )来执行特定 的SQL语句。
4. Statement (PrepareStatement,CallableStatement )在一个给定的 连接中,用于执行一个SQL语句并返回相应结果的对象。
CallableStatement cs = conn.preparedCall (“{? = call存储过程名(?,?,?)}”)
绪 论 CallableStatement
实例 1.定义存储过程:
--输入用户名和密码,输出1代表登录成功或0指定用户不存在或密码错!
CREATE OR REPLACE PROCEDURE p_validate (uname IN VARCHAR2,psw in VARCHAR2,num out number) AS BEGIN
CRUD操作:(Create Read Update Delete)。
绪论
2 ODBC
ODBC(Open DataBase Connectivity): Microsoft公司开发的一套开发 数据库系统应用程序的规范,它相当于一个转换开关,负责将应用程序发送 来的标准SQL语句传递给各种数据库驱动程序处理,再将处理结果送回应用 程序。于是,应用程序开发者只需面对统一的ODBC数据源,而不必针对各 种数据库进行不同的设置。这样的程序具备良好的适应性和可移植性。
Lecture JDBC编程
邯郸学院计算机 张延军
Zhang Yan-jun Department of Computer, Handan College
来自百度文库 绪论
Outline
1. 关系数据库简介
2. ODBC 3. JDBC 概述 4. 用JDBC访问数据库 5. 数据库连接Connection 6. 语句对象Statement 7. 结果集ResultSet 8. 事务处理 9. PrepareStatement 10. 用CallableStatement调用存储过程
1. 通过列名来获取某个字段的数据. 2. 通过列的索引(从1开始)获取某个字段的数据 . 数据类型的转换
SQL数据类型 CHAR VARCHAR2 NUMBER DATE
Java数据类型 String String int java.sql.Date
绪 论 CallableStatement
调用Oracle存储过程、函数时必须创建CallableStatement对象 : 1.不带参数的存储过程
CallableStatement cs = conn.preparedCall (“{call存储过程名()}”);
2.传入IN参数的存储过程
CallableStatement cs = conn.preparedCall (“{call存储过程名(?,?,?)}”);
3.传入IN或者OUT参数的存储过程
Statement
Statement对象由Connection对象创建。 Statement主要方法 executeQuery ()执行查询语句 ,返回ResultSet对象. Statement st=null; ResultSet rs = st. executeQuery(“seletct * from student”); executeUpdate()执行insert,delete以及update等DML语句 。 int i = st.executeUpdate(“update employees set firstname= ‘zyj’ where employee_id=112”);
绪 论 事务Transaction
事务的定义:指用户自己组织的一个数据库操作序列(多个SQL语句), 这些操作要么全做,要么全不做,是一个不可分割的工作单位。
开始事务,设置conn.setAutoCommit(false); 事务执行完毕,执行commit();否则执行rollback();
绪论
SELECT count(*) INTO num FROM student WHERE trim(username)=uname and trim(password)=psw; END p_validate; 2.调用无返回值的存储过程: CallableStatement proc = null; proc = conn.prepareCall("{ call HYQ.TESTA(?,?) }"); proc.setString(1, "100"); proc.setString(2, "TestOne"); proc.execute();
绪论
3 JDBC概述
为支持Java程序的数据库操作功能,Java语言采用了专门的Java数据库 编程接口(JDBC:JavaDataBaseConnectivity),用于在Java程序中实现数据 库操作功能并简化操作过程。JDBC支持SQL语句,提供多样化的数据库连 接方式,为各种不同的数据库提供统一的操作界面。
绪 论 CallableStatement
4.返回ResultSet: CallableStatement proc = null; proc = conn.prepareCall("{ call hyq.testc(?) }"); proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURS OR); proc.execute(); rs = (ResultSet)proc.getObject(1); while(rs.next()){ System.out.println(rs.getString(1)+”|”+rs.getString(2)); }
绪 论 PreparedStatement
可以接受带有参数的SQL语句,这些参数的位置先由占位符表示。如 ? 每个占位符必循在语句执行前,使用set方法提供。 PreparedStatement对象由于预先编译了,所以执行速度快
绪论
ResultSet
resultSet对象的获得: 通常执行一个Select查询语句后,会返回一个结果集. 获取结果集中的数据:
绪 论 数据库连接Connection
通用格式: Connection conn= DriverManager.getConnection(String url,String name, String password); url代表数据库的资源定位
1. 格式:jdbc:驱动器类型:数据库资源 2. thin是连接Oracle的一种模式。 conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost: 1521:ora", "hdc", "tiger");
绪 论 CallableStatement
3.调用有返回值的存储过程: CallableStatement proc = null; proc = conn.prepareCall("{ call HYQ.TESTB(?,?) }"); proc.setString(1, "100"); proc.registerOutParameter(2, Types.VARCHAR); proc.execute(); String testPrint = proc.getString(2);
Class.forName(“oracle.jdbc.driver.OracleDriver”); Class.forName(“com.MySql.jdbc.Driver”); Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”); 二.连接数据库: Connection 连接变量=DriverManager.getConnection(DBURL,用户帐号,密 码); 如果连接成功,将返回一个Connection对象,以后所有对这个数据库的操作均 可使用这个对象来进行。如:
绪论
绪 论 Question And Answer
微机数据库产品:MySQL、Foxpro的DBF、Access等。
数据库,准确地说,应为数据库管理系统DBMS(DataBase Management System)能保存数据本身及数据之间的联系并提供强大的管理、 查询功能。
SQL(Structured Query Language)是使用关系模型的数据库语言,用 于和各类数据库连接,提供通用的数据库管理和查询功能。
绪论
3 JDBC概述
JDBC用途:
1. 与特定的数据库进行连接
2. 向数据库发送SQL语句,实现对数据库的特定操作
3. 对数据库返回出来的结果进行处理
JDBC API:
1. Driver :用来将应用程序的API请求转换为特定的数据库请求,由它 来负责和数据库打交道。
2. DriverManager :接口,不同的驱动程序必须首先到DriverManager 中注册,以便用户来使用。用来产生一个和数据库连接的对象 Connection。