数据库工具类见上一篇博客:数据库工具类_hsx_cassy的博客-优快云博客
package jdbc;
import java.sql.ResultSet;
import java.util.Scanner;
import com.zzu.util.DBUtil;
public class Student {
public static void main(String[] args) {
System.out.println("*********************************");
System.out.println("*\t\t\t\t*");
System.out.println("*\t欢迎使用学生信息管理系统\t*");
System.out.println("*\t\t\t\t*");
System.out.println("*********************************");
while (true) {
menu();
}
}
static void menu() {
System.out.println("1、添加学生信息");
System.out.println("2、删除学生信息");
System.out.println("3、修改学生信息");
System.out.println("4、查询学生信息");
System.out.println("请输入操作,以Enter键结束:");
Scanner scanner = new Scanner(System.in);
int option = scanner.nextInt();
switch (option) {
case 1:{//1、添加学生信息
System.out.println("请输入学生学号:");
String id = scanner.next();
if(DBUtil.exist("select * from student where id=?", id)) {
System.out.println("学号不允许重复,添加失败!");
return;
}
System.out.println("请输入学生姓名:");
String name = scanner.next();
if(DBUtil.update("insert into student (id,name) values (?,?)", id,name)) {
System.out.println("添加成功!");
}
break;
}
case 2:{//2、删除学生信息
System.out.println("请输入要删除的学生学号:");
String id = scanner.next();
if(!DBUtil.exist("select * from student where id=?",id)){
System.out.println("学号为"+id+"的学生不存在!");
return;
}
if(DBUtil.update("delete from student where id=?", id)){
System.out.println("删除成功!");
}else {
System.out.println("删除失败!");
}
break;
}
case 3:{//3、修改学生信息
System.out.println("请输入要修改的学生学号:");
String id = scanner.next();
if(!DBUtil.exist("select * from student where id=?",id)){
System.out.println("学号为"+id+"的学生不存在!");
return;
}else {
System.out.println("请输入修改后的学生姓名:");
String name = scanner.next();
if(DBUtil.update("update student set name = ? where id = ?", name,id)){
System.out.println("修改成功!");
}else {
System.out.println("修改失败!");
}
}
break;
}
// case 4:{//4、查询学生信息
// System.out.println("请输入要查询的学生学号:");
// String id = scanner.next();
// class RowMapper implements IRowMapper{
// @Override
// public void rowMapper(ResultSet resultSet) {
// try {
// if(resultSet.next()) {
// String id = resultSet.getString("id");
// String name = resultSet.getString("name");
// System.out.println("学生学号:"+id+" "+"学生姓名"+name);
// }else
// System.out.println("学号为"+id+"的学生不存在!");
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
// }
// DBUtil.select("select * from student where id =?", new RowMapper(), id);
// break;
// }
// case 4:{//4、查询学生信息
// System.out.println("请输入要查询的学生学号:");
// String id = scanner.next();
// IRowMapper rowMapper = (ResultSet resultSet)->{
// try {
// if(resultSet.next()) {
// String name = resultSet.getString("name");
// System.out.println("学生学号:"+id+" "+"学生姓名"+name);
// }else
// System.out.println("学号为"+id+"的学生不存在!");
// } catch (Exception e) {
// e.printStackTrace();
// }
// };
// DBUtil.select("select * from student where id =?",rowMapper, id);
// break;
// }
case 4:{//4、查询学生信息
System.out.println("请输入要查询的学生学号:");
String id = scanner.next();
DBUtil.select("select * from student where id =?",(ResultSet resultSet)->{
try {
if(resultSet.next()) {
String name = resultSet.getString("name");
System.out.println("学生学号:"+id+" "+"学生姓名"+name);
}else
System.out.println("学号为"+id+"的学生不存在!");
} catch (Exception e) {
e.printStackTrace();
}
},id);
break;
}
default:
System.out.println("I'm Sorry,there is not the "+option+" option,please try again.");
}
}
}
在查询学生信息中,有一个内部类,最初我们用的是有名内部类,这个代码是比较初级的一个代码,只要有一点Java语法基础的人都能看懂,但是可以高级一些,改为一个匿名内部类,又由于实例化对象是函数式接口,所以可以利用Lambda表达式,然后进一步改进,从而使代码更简洁,还可以提高代码等级,给人好印象。