JAVA软件实验报告(共10页).doc
10页JAVA程序设计实验报告姓 名刘翔翔学 号班 级成 绩设备名称及软件环境设备:计算机软件环境: jdk和eclipse8实验名称实验08 JDBC数据库编程实验日期2016.06.17一. 实验内容1. 实验目的(1) 初步掌握关系型数据库的基本概念和有关名词(2) 掌握基本的SQL语句(3) 理解并掌握JDBC的结构以及JDBC与数据库应用编程之间的关系(4) 掌握使用DriverManager类、Connection类、Statement类、PreparedStatement类以及ResultSet类来连接数据库、存取数据库中数据的基本方法2. 题目编写程序创建一个职工数据表,内容如下:职工号姓名性别工资职称1001丁卫国男650助工1002张小华女1000工程师1003宁涛男2500高工要求:(1)创建职工表; (2)向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台 (3)更新职工表:将每个人的工资加50后存入原表中;并查询更新后的所有员工信息,输出到控制台二. 重点及难点1. 在系统中添加JDBC数据源并添加数据库2. 使用Java提供的API连接数据库完成操作。
三. 理论分析或算法分析1. 首先,在系统中添加JDBC数据源并添加数据库2. 在Java程序中加载注册驱动程序3. 利用DriverManager 类链接到指定数据库4. 获得PreparedStatement或Statement对象对数据库进行具体操作四. 实现方法1.添加Employee数据表import java.sql.*;public class CreateTable { public static void main(String[] args) { // TODO Auto-generated method stub// 加载驱动 try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try {// 创建连接(与数据源进行连接) Connection con=DriverManager.getConnection("jdbc:odbc:TestDB");// 建立Statement类的对象 Statement st=con.createStatement(); // 创建表Employee String sql="create table Employee(" +"职工号 char(10)," +"姓名 char(15)," +"性别 char(10)," +"工资 integer," +"职称 char(15)" +")";// 执行SQL命令 st.executeUpdate(sql); System.out.println("创建成功!");// 释放数据库及JDBC资源 st.close();// 关闭与数据库的连接 con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }2.向Employee中加入字段import java.sql.*;public class InsertMess { public static void main(String[] args) { // TODO Auto-generated method stub// 加载驱动 try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try {// 创建连接(与数据源进行连接) Connection con=DriverManager.getConnection("jdbc:odbc:TestDB");// 建立Statement类的对象 Statement st=con.createStatement(); // 向表中插入记录 String r1="insert into Employee values("+"'1001','丁卫国','男',650,'助工')"; String r2="insert into Employee values("+"'1002','张小华','女',1000,'工程师')"; String r3="insert into Employee values("+"'1003','宁涛','男',2500,'高工')";// 执行SQL命令,向表中插入三条记录 st.executeUpdate(r1); st.executeUpdate(r2); st.executeUpdate(r3);// 查询职工信息 String s="select * from Employee";// 把职工信息输出到屏幕上 ResultSet result=st.executeQuery(s); System.out.println("----员工信息----"); while(result.next()) { System.out.println(result.getString("职工号")+ "\t"+result.getString("姓名")+ "\t"+result.getString("性别")+ "\t"+result.getString("工资")+ "\t"+result.getString("职称") ); }// 释放数据库及JDBC资源 st.close();// 关闭与数据库的连接 con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }3,修改(更新)“工资”import java.sql.*;public class UpdateMess { public static void main(String[] args) { // TODO Auto-generated method stub try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try {// 创建连接(与数据源进行连接) Connection con=DriverManager.getConnection("jdbc:odbc:TestDB"); Statement st=con.createStatement(); // 建立PreparedStatement类的对象,// 更新工资,将工资增加50 PreparedStatement ps=con.prepareStatement("update Employee set 工资=工资+50"); // 执行SQL命令 ps.executeUpdate(); // 查询更新后的职工信息 String s="select * from Employee";// 把职工信息输出到屏幕上 ResultSet result=st.executeQuery(s); System.out.println("----员工信息----"); while(result.next()) { System.out.println(result.getString("职工号")+ "\t"+result.getString("姓名")+ "\t"+result.getString("性别")+ "\t"+result.getString("工资")+ "\t"+result.getString("职称") ); }// 释放数据库及JDBC资源 ps.close(); st.close();// 关闭与数据库的连接 con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }}}五.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)1.添加数据表2.插入员工信息3,更新员工“工资”五. 结论 通过这次实验,初步掌握关系型数据库的基本概念和有关名词,掌握基本的SQL语句,掌握JDBC的结构以及JDBC与数据库应用编程之间的关系,掌握了使用DriverManager类、Connection类、Statement类、PreparedStatement类以及ResultSet类来连接数据库、存取数据库中数据的基本方法报告提交日期2016.06.24(注意:内容写不下时可另附页。





