实验八 使用JDBC访问数据库

合集下载

第八章 利用JDBC访问数据库

第八章 利用JDBC访问数据库

从ODBC到JDBC
ODBC就是Open Database Connectivity的英文缩 写。是一种用来在相关或不相关的数据库管理系统 (DBMS)中存取数据的标准应用程序数据接口。 ODBC是用C语言实现的。 1.ODBC的结构模型 数据库应用程序接口 驱动程序管理器: 数据库驱动程序 数据源: 2.JBDC的出现 JDK1.1中公布了包含数据库操作的接口:SQL包。
from
}
打开数据库连接
需要引入java.sql包 加载JDBC驱动程序:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
建立连接,使用DriverManager类的静态方 法getConnection(),将返回一个数据库连接 (Connection对象)
JDBC的特点
摆脱了非面向对象编程的弱点。 通过使用JDBC,简化了开发数据库应用的复 杂度,加快了开发速度。 JDBC扩展了Java的能力。
JDBC驱动程序ຫໍສະໝຸດ 1. 类型Ⅰ JDBC-ODBC桥驱动
应用程序 JDBC 驱 动 程序管理 器 ODBC驱动 管理器 ODBC驱动 程序
ODBC数据库
基本步骤
打开数据库连接 执行SQL语句
创建JDBC Statement对象
处理返回的结果 关闭数据库连接
JDBC驱动程序安装
JDBC-ODBC桥,不需要特别的设置,只需 要有JDK就可以了,另外在Windows控制面 板中设置ODBC数据源,在其中添加一个 System DSN。 其他的数据库,则可以下载厂商专门提供的 JDBC驱动程序,或者第三方提供的驱动程序, 将jar文件加入到CLASSPATH中。如果是在 Tomcat中使用,则应视具体情况加入到 Web应用程序的WEB-INF/lib目录,或者 common/lib目录,或者是shared/lib目录 中。

jsp试验报告实训9 使用JDBC访问数据库

jsp试验报告实训9  使用JDBC访问数据库

实训9 使用JDBC访问数据库(2)实验目的:了解相关JSP访问数据库的方法方法掌握使用数据源访问数据库的基本方法掌握使用.properties文件访问数据库的基本方法实验内容:实训项目一:使用数据源访问数据库的基本方法参考教材P275数据源和连接池的内容,利用数据库源访问数据库。

实验步骤:(一)利用mysql客户端,建立mytest数据库建立student表,其中设置两个字段number,name在表中初始化若干条信息打开tomcat的conf目录,默认安装路径:C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf(二)打开context.xml,在最后</Context>前添加<Resource name="jdbc/mydbtest"auth="Container"type="javax.sql.DataSource"maxActive="100"maxIdle="30"maxWait="10000"username="root"password="root"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost/mytest"/> (三)打开工程目录WebRoot\WEB-INF下的web.xml,在</web-app>前添加<resource-ref><res-ref-name>jdbc/mydbtest</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>(四)在工程Src目录下建立包db,建立DBConn.java,用来操作数据库。

java掌握使用JDBC访问数据库操 作。

java掌握使用JDBC访问数据库操    作。
《java 语言程序设计》实验报告
课程名称: java语言程序设计 实验项目: 实验十 数据库编程 计算机号: 系别专业: 班级学号: 学生姓名:
2012年 12月 20 日
一、实验目的 1、掌握使用JDBC访问数据库操作。
二、实验内容 1、在sqlserver2008数据库管理系统中建立MyTest数据库,在此数据库中建立学生表(student),表中有 列:学号,姓名,年龄,班级。 2、建立一个数据库连接类,利用JDBC连接数据库和断开连接。 3、建立一个数据库操作类,使用2中的连接类连接数据库,对表student进行增、删、改、查操作。
rs.close(); } catch (SQLException ex) {
ex.printStackTrace(); }
} if (sta != null) {
try { sta.close();
} catch (SQLException ex) { ex.printStackTrace();
要求:
1、数据库连接类必须要为其它提供获取Connection和释放ResultSet、Statement和Connection的两个方 2、数据库操作类要实现增、删、改、查操作的方法,并要返回执行结果。 3、实验报告给全部java源代码和程序执行结果。
三、实验环境: 操作系统:Windows xp Java version :JDK 1.6 开发工具: netbeans 6.8
'" + age + "','" + num + "')"; try { Conn.openConn();
int i = Conn.getSta().executeUpdate(Sql);

通过ODBC和JDBC访问数据库实验说明

通过ODBC和JDBC访问数据库实验说明

《通过ODBC和JDBC访问数据库》实验说明一、适用专业和课程:计算机专业《数据库》实验学时:2二、实验目的:(1) 学会配置ODBC数据源;(2) 熟悉使用ODBC和JDBC来进行数据库应用程序的设计;(3) 利用存储过程和触发器维护数据完整性;(4) 熟悉通过ODBC和JDBC接口访问异构数据库并对异构数据库进行操作。

三、实验内容:(1) 使用ODBC编写应用程序来对异构数据库进行各种数据操作;(2) 配置两个不同的数据源,编写程序连接两个不同RDBMS的数据源,对异构数据库执行操作,如,将KingbaseES数据库某个表中的数据转移到SQL Server数据库的表中;(3) 使用Java语言编写应用程序对数据库进行各种数据操作。

四、实验要求:本实验要求中的内容可以选择一种来完成。

(1) 关于ODBC✓建立连接数据库的数据源,给出配置数据源的过程;✓编写动态网页,实现对数据库数据的增删改查。

(2) 关于JDBC✓配置环境变量;✓编写程序实现对数据库的访问。

(3) 提交源程序并标识必要的注释;(4) 保证程序能正确编译和运行,认真填写实验报告。

五、实验环境和仪器(软件、硬件):(1) 硬件环境:普通联网的PC机;(2) 操作系统:Windows 2000或者Windows XP;(3) 数据库管理系统:MS SQL Server 2005,KingbaseES;(4) 通过C语言和Java语言编写应用程序对数据库进行各种数据操作,编程工具自选。

六、实验步骤(程序,流程等):(包含实验记录,提供的数据、图表等资料内容)(一)通过ODBC访问数据库(1) 在MS SQL Server 2005或KingbaseES中创建数据库TEST,并建立基本表Student,输入合适的数据;(2) 运用数据源管理工具分别配置KingbaseES和SQL Server两个数据源,实现与数据库系统的连接;(3) 通过ODBC访问异构数据库并对异构数据库执行操作:编写程序连接两个不同RDBMS的数据源,如,将KingbaseES数据库中Student表的数据备份到SQL Server数据库的Student表中,或将SQL Server数据库中Student表的数据备份到KingbaseES数据库的Student表中。

jdbc连接数据库的四个步骤

jdbc连接数据库的四个步骤

jdbc连接数据库的四个步骤以jdbc连接数据库的四个步骤为标题,写一篇文章。

一、引言在现代的软件开发过程中,数据库是不可或缺的一部分。

而jdbc (Java Database Connectivity)是Java语言中连接数据库的标准接口,它提供了一种与数据库进行通信的方法。

本文将介绍使用jdbc连接数据库的四个步骤。

二、导入jdbc驱动在使用jdbc连接数据库之前,首先需要导入jdbc驱动。

不同数据库的驱动程序不同,需要根据所使用的数据库类型导入相应的驱动。

一般而言,可以通过在项目的构建文件中添加相应的依赖来导入驱动,也可以手动将驱动程序的jar包添加到项目的classpath中。

三、加载驱动类在导入jdbc驱动之后,需要加载驱动类。

通过调用Class.forName()方法来加载驱动类,该方法的参数为驱动类的类名。

例如,加载MySQL驱动类的代码如下所示:Class.forName("com.mysql.jdbc.Driver");四、建立数据库连接加载驱动类之后,即可建立与数据库的连接。

首先需要定义数据库的连接信息,包括数据库的URL、用户名和密码等。

其中,URL是指定数据库的地址,用户名和密码是用于身份验证的凭据。

然后,通过调用DriverManager.getConnection()方法来建立数据库连接。

该方法的参数为数据库的URL、用户名和密码。

例如,连接MySQL数据库的代码如下所示:String url = "jdbc:mysql://localhost:3306/test";String username = "root";String password = "123456";Connection conn = DriverManager.getConnection(url, username, password);五、执行数据库操作建立数据库连接之后,即可执行各种数据库操作,如查询、插入、更新等。

语言程序设计资料:应用JDBC访问数据库

语言程序设计资料:应用JDBC访问数据库
而这类JDBC驱动程序的作用就是将JDBC数据库调用 转换为本地客户数据库调用。
优点:使用DBMS优化的本地客户驱动,可以获得较好 的效率和速度。 缺点:这类驱动程序在发布时要求相应的客户机上都 有安装相应DBMS的客户机网络软件。
2020年12月15日
12
JDBC网络纯Java驱动器
这一类驱动程序完全用Java编写,它将 JDBC请求转换为一种独立于特定DBMS的网络协 议,并发送给一个中间件服务器。中间件服务器 的作用是将这种协议转换为特定数据库的请求格 式。
JDBC应用程序利用JDBC代码来连接数据库、向数 据库系统发送SQL语句、接收SQL执行结果。
这部分代码需要完成的工作有: 1. 向数据库系统发出请求建立连接 2. 向数据库系统发送SQL语句 3. 为返回的结果集中的数据确定相应的数据类型 4. 查询和处理结果集 5. 处理数据库异常 6. 关闭连接
另外要注意的是,数据来源不仅仅是数据库, 也可能是网站的响应、 本地XML文件,甚至是 本地的一个文本文件。使用数据源的概念,我 们可以把各种异构的数据统一使用JDBC来访问。
2020年12月15日
15
3、JDBC API
JDBC API包含一组类和接口,用于连接数 据库,以及JDBC驱动程序管理器和各种不 同的JDBC驱动程序之间的接口。JDBC API 分为两种:
2020年12月15日
8
JDBC驱动程序负责向数据库系统发送SQL语 句,并接收执行结果。具体来说,驱动程序可 以完成以下任务:
建立与数据库的连接
向数据库系统发送数据请求
将数据库系统的错误代码转换为JDBC的错误 代码
可以管理结果集游标
可以初始化事务
2020年12月15日

使用jdbc访问数据库的基本步骤

使用jdbc访问数据库的基本步骤

确定数据库驱动程序首先,你需要确定使用的数据库,并下载相应的数据库驱动程序。

不同的数据库有不同的驱动程序,例如MySQL的驱动程序是"com.mysql.jdbc.Driver"。

导入驱动程序在你的Java项目中,你需要导入数据库驱动程序。

你可以将驱动程序的JAR文件直接添加到项目中,或者使用构建工具(如Maven)来导入依赖。

连接到数据库使用java.sql.Connection类建立与数据库的连接。

你需要提供数据库的URL、用户名和密码来进行连接。

通常的URL格式为jdbc:databaseType://host:port/databaseName,例如jdbc:mysql://localhost:3306/mydatabase。

创建Statement对象一旦连接到数据库,你需要创建一个java.sql.Statement对象来执行SQL语句。

Statement对象用于执行静态SQL语句。

执行SQL语句使用Statement对象的executeQuery()方法执行SQL查询语句,并使用executeUpdate()方法执行其他类型的SQL语句(如插入、更新和删除)。

处理结果集当执行查询语句后,你将获得一个java.sql.ResultSet对象,它包含查询结果。

你可以使用ResultSet对象的方法来遍历结果集,并提取所需的数据。

关闭连接和资源当你完成对数据库的操作后,应该关闭数据库连接和相关的资源以释放系统资源。

使用close()方法来关闭ResultSet、Statement和Connection对象。

错误处理在操作数据库时,可能会发生一些错误。

你应该使用try-catch块来捕获和处理这些错误,以便提供更好的用户体验,并避免应用程序崩溃。

以上是使用JDBC访问数据库的基本步骤。

通过这些步骤,你可以连接到数据库,执行SQL语句,并处理查询结果。

请注意,在实际应用中,还有一些更高级的技术和模式可以用于更好地组织和管理数据库访问代码。

实验8-jdbc数据库访问

实验8-jdbc数据库访问

实验8 JDBC访问数据库一、实验目的1. 掌握使用传统的方法访问数据库;2. 掌握使用数据源的方法访问数据库。

二、实验原理数据库应用是Web应用开发的一个重要应用。

Web应用程序访问数据库有两种方法:传统的方法和使用JNDI数据源的方法。

传统方法访问数据库的步骤是:①加载数据库驱动程序;②建立连接对象;③创建语句对象;④获得结果集;⑤关闭有关连接对象。

使用数据源访问数据库的步骤是:①配置数据源(局部数据源或全局数据源);②通过JNDI机制查找命名数据源;③通过数据源对象创建连接对象;④其他与传统方法一致。

三、实验内容与步骤(一)使用传统方法通过JSP页面访问数据库【步骤1】创建数据库。

假设在PostgreSQL建立了一个名为bookstore的数据库,在其中建立books表,代码如下:CREATE TABLE books (bookid character(5) PRIMARY KEY, --书号title varchar2(80), --书名author character varying(20), --作者publisher character varying (40), --出版社price real --价格);向books表中插入几条记录,代码如下:INSERT INTO books V ALUES('204','Head First Servlets & JSP', 'Bryan Basham', '中国电力出版社',98.00);INSERT INTO books V ALUES('201', 'Servlets 与JSP 核心教程', 'Hall Marty','清华大学出版社',45);INSERT INTO books V ALUES('202', 'Tomcat与Java Web 开发技术祥解', '孙卫琴', '机械工业出版社',45);INSERT INTO books V ALUES('203', 'JSP 应用开发技术', '柳永坡','人民邮电出版社',52);INSERT INTO books V ALUES('205', 'J2EE 1.4 编程指南', 'Spielman Sue','电子工业出版社',68);注意:需要将数据库的JDBC驱动程序安装到应用程序的WEB-INF\lib目录中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南工业大学实验报告课程数据库系统原理及应用 _实验名称实验八使用JDBC访问数据库院系_____ 专业班级__ _姓名____________ 学号_____ _指导老师:日期一.实验目的熟悉在Java语言中采用JDBC调用SQL SERVER存储过程的方法。

二.实验内容及要求基于实验二中的关系模式,编写存储过程,并采用JDBC来调用存储过程完成指定查询需求。

1)存储过程:查询所有院系的平均高考成绩,并按平均成绩排序。

调用存储过程返回数据并在界面上显示数据。

2)存储过程:查询指定院系(参数)的教师信息,并按教师编号升序排序。

调用存储过程完成:查询“信息科学与工程学院”的教师信息。

3)存储过程:修改指定学生(参数)、指定课程(参数)的成绩(参数)。

调用存储过程完成:修改学生'2007001'的选修课程'105322'的成绩为89。

要求:提交源程序并标识必要的注释。

保证程序能正确编译和运行,认真填写实验报告。

三.实验过程及结果(含源代码)1、存储过程:查询所有院系的平均高考成绩,并按平均成绩排序。

调用存储过程返回数据并在界面上显示数据。

源代码:存储过程:create procedure PAIXUasselect dept,A VG(oldgrade)as avgoldgrade from student group by dept order by avg(oldgrade)return通过ODBC调用存储过程来完成操作:import java.sql.*;public class PRO {public static void main(String[] args) throws Exception { // TODO Auto-generated method stubString url ="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=zhaohongzhi";String user = "sa";String password = "PASSWORD";Connection con = null;CallableStatement procedure = null;ResultSet rs=null;try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");con = DriverManager.getConnection(url,user,password);procedure = con.prepareCall("{? = call PAIXU ()}");procedure.registerOutParameter(1, Types.REAL);rs = procedure.executeQuery();//取得结果集while(rs.next()){System.out.print(rs.getString("dept"));System.out.println(rs.getString("avgoldgrade"));}}catch(Exception e){e.printStackTrace();}finally{if(rs!=null) rs.close();if(procedure!=null)procedure.close();if(con!=null)con.close();}}}实验结果截图:2、存储过程:查询指定院系(参数)的教师信息,并按教师编号升序排序。

调用存储过程完成:查询“信息科学与工程学院”的教师信息。

存储过程:create procedure Teacher1@dept varchar(20)ASselect tno,tname,dept,salary,title from teacher where teacher.dept=@dept order by tnoReturn通过ODBC访问存储过程:import java.sql.*;public class PRO {public static void main(String[] args) throws Exception { // TODO Auto-generated method stubString url ="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=zhaohongzhi";String user = "sa";String password = "PASSWORD";Connection con = null;CallableStatement procedure = null;ResultSet rs=null;try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");con = DriverManager.getConnection(url,user,password);procedure = con.prepareCall("{? = call Teacher1 ('信息科学与工程学院')}");procedure.registerOutParameter(1, Types.REAL);rs = procedure.executeQuery();//取得结果集while(rs.next()){System.out.print(rs.getString("tno"));System.out.print(rs.getString("tname"));System.out.print(rs.getString("dept"));System.out.print(rs.getString("salary"));System.out.println(rs.getString("title"));}}catch(Exception e){e.printStackTrace();}finally{if(rs!=null) rs.close();if(procedure!=null)procedure.close();if(con!=null)con.close();}}}实验结果截图:3、存储过程:修改指定学生(参数)、指定课程(参数)的成绩(参数)。

调用存储过程完成:修改学生'2007001'的选修课程'105322'的成绩为89。

存储过程:create PROCEDURE Update2@sno1varchar(7),@cno1varchar(6)ASselect*from SCwhere sno=@sno1AND cno=@cno1BEGINSET NOCOUNT ONENDcreate procedure Update1@sno char(7),@cno char(6),@grade intASupdate SCset grade=@gradewhere sno=@sno and cno=@cnoReturn通过ODBC访问存储过程:import java.sql.*;public class PRO {public static void main(String[] args) throws Exception { // TODO Auto-generated method stubString url ="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=zhaohongzhi";String user = "sa";String password = "PASSWORD";Connection con = null;CallableStatement procedure1 = null;CallableStatement procedure2 = null;ResultSet rs=null;try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection(url,user,password);// procedure1 = con.prepareCall("{? = call Update1('2007001','105322','89')}");procedure2= con.prepareCall("{? = call Update2('2007001','105322')}");procedure2.registerOutParameter(1, Types.REAL);rs=procedure2.executeQuery();//取得结果集while(rs.next()){System.out.print(rs.getString("sno"));System.out.print(rs.getString("cno"));System.out.println(rs.getString("grade"));}}catch(Exception e){e.printStackTrace();}finally{if(rs!=null) rs.close();if(procedure1!=null)procedure1.close();if(procedure2!=null)procedure2.close();if(con!=null)con.close();}}}执行结果截图:四.实验中的问题及心得该实验要求编写存储过程,并通过ODBC访问存储过程,关键在于Myclipse 或者eclipse中SQL Sever JDBC Driver的配置,配置好是程序能够成功运行的前提。

相关文档
最新文档