实验原理及内容概述:
1. 编写一个通用的数据库连接类,该类能实现数据库连接、数据库连接资源关闭等功能。
2. 编写一个通讯录管理系统,要求系统具有增、删、改、查功能。
实验目的:
1. 掌握加载JDBC驱动程序;掌握数据库连接的创建;
2. 掌握Statement接口数据库进行增加、删除、修改和查询操作;
3. 掌握Statement对象的executeQuery()和executeUpdate()方法的使用;
4. 掌握PreparedStatement接口数据库进行增加、删除、修改和查询操作;
5. 掌握setString()、setInt()、setDouble等setXxx方法对输入参数的赋值;
8. 掌握执行SQL语句;
9. 掌握结果集的处理方法。
实验内容:
- 启动Navicat,并建立和mysql的连接。
- 在已经建立的连接中,创建一个“tongxun”的数据库,并执行提供给你的tongxun.sql文件,实现数据导入,并打开表查看下表中的数据。
- 编写一个通用的数据库连接类Sy2_1,该源程序实现和数据库tongxun的连接、要有连接成功的提示,同时如果连接不成功要有异常处理的提示语句。成功连接后,关闭数据库连接资源。
两种情况如下图所示:
4.编写一个用于通讯录管理的源程序Sy2_2,要求系统具有增、删、改、查功能。
说明:数据库文件已经提供,即tongxun.sql,请在navicat中执行该文件,以便附加数据库的数据。
效果参考如下:
实验记录:
1、建数据库命令窗切图:
2、建表及查看表记录成功后的
3、程序代码及结果截图:
package experiment2;
import java.sql.*;
public class Sy2_1 {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.print("加载驱动程序成功!!");
} catch (Exception e) {
System.out.println("加载驱动程序失败");
e.printStackTrace();
}
try {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/tongxun?characterEncoding=gb2312","root","123456");
System.out.println("连接成功!!");
Statement stat = con.createStatement();
ResultSet rs = stat.executeQuery("select * from ben");
while(rs.next()) {
System.out.println(" ID:"+rs.getString(1)+" 密码:"+rs.getString(2));
}
rs.close();
stat.close();
con.close();
System.out.println("已处理完毕,关闭了和数据库的连接");
} catch (Exception e) {
System.out.println("连接失败,请确定连接参数是否正确");
e.printStackTrace();
}
}
}
4、程序代码及结果截图:
package experiment2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.mysql.jdbc.PreparedStatement;
public class Sy2_2 {
public static void main(String[] args) {
String deleteSql = "Delete from ben where name= '张三'";
String insertSql = "insert into ben(tel,name,sex,adress) values('123456','niki','男','gym')";
String selectSql = "select * from ben";
String updateSql = "update ben set tel = '159456' where name='托尼'";
Connection con = null;
Statement stat = null;
// PreparedStatement pat = null;
ResultSet rs = null;
// TODO 自动生成的方法存根
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.print("加载驱动程序成功!!");
} catch (Exception e) {
System.out.println("加载驱动程序失败");
e.printStackTrace();
}
try {
int count;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/tongxun?characterEncoding=gb2312","root","123456");
System.out.println("连接成功!!");
stat = con.createStatement();
count = stat.executeUpdate(deleteSql);
System.out.println("正在删除符合条件的记录......已删除了"+count+"记录");
count = stat.executeUpdate(insertSql);
System.out.println("正在添加记录进数据库......所影响的记录条数:"+count);
rs = stat.executeQuery(selectSql);
System.out.println("查询的结果如下:");
while(rs.next()) {
System.out.println(" 电话:"+rs.getString(1)+" 姓名:"+rs.getString(2)+" 性别:"+rs.getString(3)+" 地址:"+rs.getString(4));
}
count =stat.executeUpdate(updateSql);
System.out.println("正在更新数据......所影响的记录条数:"+count);
rs.close();
stat.close();
con.close();
System.out.println("已处理完毕,关闭了和数据库的连接");
} catch (Exception e) {
System.out.println("连接失败,请确定连接参数是否正确");
e.printStackTrace();
}
}
}