java实验:数据库程序设计

实验内容

在MySQL数据库中定义一个hit数据库,其中有一个student表,表中有如下字段:
sid varchar(10) 学号(学号)
sname varchar(20) 姓名
age int 年龄
birthday date 生日

使用DAO模式,编写一个控制台程序,程序运行后显示如下主菜单界面。

输入1后,输出全部学生信息,每行显示一个学生;

输入2后,根据提示输入学号,然后输出某个学生信息或提示未找到学生;

输入3后,根据提示输入一个学生的全部信息后,提示增加成功;

输入4后,先输入要修改的学号,如果没有该学生,提示未找到,如果找到该学生,提示修改该学生的其他信息(学号不能修改,其他信息要逐条显示出来,若不修改直接回车);

输入5后,输入要修改的学号,提示用户是否删除,如用户确定则删除学生。

以上5个操作结束后都返回主菜单。

输入6后,退出程序。

实验过程

建立数据库

打开MySQL,新建一个hit数据库,然后新建student表并在该表中按实验内容格式增添如下选项:在这里插入图片描述
并保存结果

编写连接数据库的DBUtils类

整个实验最核心的内容在于编写与数据库链接的代码,使得在eclipse下即可更改数据库中信息,代码如下:


package cn.edu.hit.utils;
import java.sql.*;

public class DBUtils {
	private static Connection con;
	private static Statement stmt;
	static {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hit", "root", "*****");
			stmt = con.createStatement();
		} catch (ClassNotFoundException | SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static ResultSet executeQuery(String sql) {
		try {			
			ResultSet rs = stmt.executeQuery(sql);
			return rs;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}
	public static int executeUpdate(String sql) {
		try {
			return stmt.executeUpdate(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return -1;
		}
	}
	public static void close() {
		try {
			stmt.close();
			con.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
	}
}

注意:getConnection内的*为自己hit数据库的密码

编写主程序和各种类

利用java相关知识按题要求写程序代码即可,下面附上我的程序目录:在这里插入图片描述
完整代码文件结尾附上。

实验结果

数据库信息:在这里插入图片描述

eclipse下运行test主程序:
在这里插入图片描述

输入其余序号也可如上进行对数据库的操作。

说明:由于编写此文时间仓促,以及与进行该实验的时间间隔太久,对实验过程并未做出详细的描述,附上完整代码文件如下:https://github.com/120L021526/gao-first.git

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值