当前位置:文档之家› Java设计报告汇总

Java设计报告汇总

JAVA程序设计实训报告系部:计算机系班级:13网络技术教师:胡恩勇姓名: 邓天顺-、设计题目数据库数据操作二、 目的和要求:1. 掌握JDBC 原理。

和用JAVA JDBC 技术连结数据2. 使用JDBC 数据库存取技术。

3. 用java 编写 数据库的增加,删除,查询,修改4. 实现主要功能,界面不作要求。

三、 设计过程JDBC 是基于java 的,用于访问关系数据库的应用程序编程接口 (API),提供在 java 应用程序中执行sql 语句以访问和操作关系数据库的方法。

JDBC 提供4种类型的驱动程序:1, JDBC-ODB 桥驱动程序 特点:具有大量的ODBC 驱动程序可用,缺点是不易 于移植,且运行速度较慢。

2, 本地库java 实现驱动程序 特点:能够充分利用已有的专用驱动程序,缺点 是不具有跨平台特性。

3, 网络协议驱动程序 特点:适用于网络的分布式应用,方式灵活缺点是设计 网络安全问题。

4, 数据库协议驱动程序 特点:应用程序直接于数据库服务器端通信,此类驱 动 程序全部使用java 编写。

1•受环境的制约,我们选用JDBC 连接数据库 的方式,首先打开Eclipse 设置好工作目录, 并新建项目,在该项目的默认包中创建如图 所示的几个类。

2•其中DBUtil.java 是用来连接数据库的专用 类;字母S 打头的四个类分别实现对数据库 的增删改查四个功能,Test.java 类用于启动 程序创建图形用户界面并调用别的类的方 法。

DBUtiljavaimport java.sql.C onn ecti on; import java.sql.DriverMa nager;import java.sql.PreparedStateme nt;-沼 School—sreIH 由(缺省包)E -占毗讥il J4V^ jjJ Sielet*. j ava . J Singer t. 尬 Ss*lect, jay* -p Jj Supd^te. java +■ .J] Test, jav^Eb 僅 JM 舷库[j lkl . 6.0_43:import java.sql.SQLExceptio n;public class DBUtil{public static Conn ecti on getC onn() {Conn ecti on conn = n ull;try{Stri ng driverName = "su n.jdbc.odbc.JdbcOdbcDriver"; // 指定驱动程序Class.forName(driverName);String dbUrl = "jdbc:odbc:school"; // 指定URL 数据源名称conn = DriverMa nager.getC onn ectio n(dbUrl);}catch (ClassNotF oun dExcepti on e){e.pri ntStackTrace();}catch (SQLExcepti on e){e.pri ntStackTrace();}retur n conn;}public static void close(PreparedStateme nt pstmt){if (pstmt != n ull){try{pstmt.close();}catch (SQLExcepti on e){e.pri ntStackTrace();}}}安徽冶金科技职业学院计算机系13网络技术班public static void close(C onnection conn) {if (conn != n ull){try{conn. close();}catch (SQLExcepti on e){e.pri ntStackTrace();}}}public static void main( Stri ng[] args){Conn ecti on conn = DBUtil.getC onn();System.out.pri ntl n( "ok");DBUtil.close(co nn);}}该文件下载与网络,但我们要知道创建它包含3个步骤:1、加载JDBC驱动程序:在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM( Java虚拟机),这通过ng.Class类的静态方法forName(String className实现。

try{//加载的驱动类Class.forName("su n.jdbc.odbc.JdbcOdbcDriver";");}catch(ClassNotF oun dExceptio n e){System.out.pri ntln("找不到驱动程序类,加载驱动失败!");e.pri ntStackTrace();}2、提供JDBC连接的URLStri ng con str = "jdbc:odbc :系统数据源";// 指定URL con = DriverManager.getC onn ectio n(c on str);系统数据源:ODBC数据源的名称student3、创建数据库的连接要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象, 该对象就代表一个数据库的连接。

使用DriverMa nager 的getC onnectin( Stri ng url , String user name , String password方法传入指定的欲连接的数据库的路径、数据库的用户名和4T密码来获得。

try {Stri ng driverName = "su n.jdbc.odbc.JdbcOdbcDriver"; // 指定驱动程序Class.forName(driverName);Stri ng con str = "jdbc:odbc:stude nt"; // 指定URLcon = DriverMa nager.getC onn ecti on(con str);}catch(SQLExcepti on se){System.out.pri ntl n(” 数据库连接失败!");se.pri ntStackTrace();}Sselect.javaimport p onent;import java.sql.*;import java.util.ArrayList;public class Sselect {public static Object[][] res() throws SQLException {//返回给用户界面类型装箱Stateme nt stm = n ull;Conn ecti on con = nu II;Object[][] result=new Object[2O][7];try {con = DBUtil.getConn();// 建立连接} catch (Excepti on e) {e.pri ntStackTrace();}try {stm = con .createStateme nt(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);//uix创建stateme nt 对象ResultSet rst = stm.executeQuery("select * from stude nt"); // 执行SQL语句int xli ne=0;while (rst.next()) {result[xl in e][O]=rst.getI nt(1);result[xli ne][1]=rst.getStri ng(2);result[xli ne][2]=rst.getStri ng(3);result[xli ne][3]=rst.getStri ng(4);result[xli ne][4]=rst.getDate(5);result[xli ne][5]=rst.getStri ng(6);result[xl in e][6]=rst.getI nt(7);xli ne++;} catch (Excepti on e) {System.out.pri ntln("查询出错!"); } fin ally {con. close();return result;}} }除了连接数据的三个步骤外,要对数据库进行操作还需要以下四步:4、创建一个Statement要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:1、执行静态SQL语句。

通常通过Statement实例实现。

2、执行动态SQL语句。

通常通过PreparedStatement实例实现。

3、执行数据库存储过程。

通常通过CallableStateme nt实例实现。

具体的实现方式:Stateme nt stmt = con. createStateme nt();PreparedStateme nt pstmt = con .prepareStateme nt(sql);CallableStateme nt cstmt =co n.prepareCall("{CALL demoSp(? , ?)}");5、执行SQL语句Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate 和execute1、ResultSet executeQuery(String sqlString)执行查询数据库的SQL语句,返回一个结果集(ResultSe)对象。

2、int executeUpdate(String sqlString)用于执行INSERT UPDATE或DELET语句以及SQL DDL语句,如:CREATE TABL E DROP TABL等3、execute(sqlString)用于执行返回多个结果集、多个更新计数或二者组合的语句。

具体实现的代码:ResultSet rs = stmt.executeQuery("SELECT * FROM ...");in t rows = stmt.executeUpdate("INSERT INTO ...");boolea n flag = stmt.execute(Stri ng sql);6、处理结果两种情况:1、执行更新返回的是本次操作影响到的记录数。

相关主题