实战要求:使用DBUtil工具实现简单学生管理系统,要求: 添加学生信息,不允许添加学号相同的学生信息; 删除学生信息,根据学号删除学生信息; 修改学生信息,根据学号获取学生信息,修改后保存到集合中; 查询学生信息,根据学号在控制台显示学生基本信息:
定义抽象类接口:
import java.sql.ResultSet;
public interface IRowMapper {
void rowMapper(ResultSet resultSet);
}
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import jdbc.IRowMapper;
public class shuju {
public static void main(String[] args) {
System.out.println("*****************************");
System.out.println("* *");
System.out.println("* 欢迎使用学生信息管理系统 *");
System.out.println("* ");
System.out.println("*****************************");
for (;;) {
System.out.println("1.添加学生信息");
System.out.println("2.删除学生信息");
System.out.println("3.修改学生信息");
System.out.println("4.查询学生信息");
System.out.println("5.按enter键以进行下步操作");
Scanner scanner = new Scanner(System.in);
int option = scanner.nextInt();
switch (option) {
case 1: {
System.out.println("请输入学生的学号");
String id = scanner.next();
System.out.println("请输入学生的姓名");
String name = scanner.next();
if (Utibil.Exsit("select * from student where id=?", id)) {
System.out.println("学号不能重复");
return;
}
if (Utibil.Exsit("insert into student (name,id)values(??)", name, id)) {
System.out.println("添加成功");
} else {
System.out.println("添加失败");
}
break;
}
case 2: {
System.out.println("请输入学生的学号");
String id = scanner.next();
if (Utibil.update("delect * from student where id=?", id)) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
break;
}
case 3: {
System.out.println("请输入学生的学号");
String id = scanner.next();
String sql = "select name from user_info where id=" + id + "";
if (!Utibil.Exsit("select * from student where id=?", id)) {
System.out.println("学号不存在,修改失败");
}
System.out.println("请输入学生的新学号");
id = scanner.next();
System.out.println("请输入学生的新姓名");
String name = scanner.next();
if (Utibil.update("update student set name? where id?", name,id)) {
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
break;
}
case 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");
String mobile = resultSet.getString("mobile");
String address = resultSet.getString("address");
System.out.println("id="+id+",name="+name+",mobile="+mobile+",address="+address);
}else {
System.out.println("不存在");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
DBUtil.select("select * from student where id=?", new RowMapper(), id);
IRowMapper rowMapper=(ResultSet resultSet)->{ try {
if(resultSet.next()) {
String name = resultSet.getString("name");
String mobile = resultSet.getString("mobile");
String address = resultSet.getString("address");
System.out.println("id="+id+",name="+name+",mobile="+mobile+",address="+address);
}else {
System.out.println("不存在");
}
} catch (SQLException e) {
e.printStackTrace();
}
};
DBUtil.select("select * from student where id=?", rowMapper, id);
DBUtil.select("select * from student where id=?", (ResultSet resultSet)->{
try {
if(resultSet.next()) {
String name = resultSet.getString("name");
String mobile = resultSet.getString("mobile");
String address = resultSet.getString("address");
System.out.println("id="+id+",name="+name+",mobile="+mobile+",address="+address);
}else {
System.out.println("不存在");
}
} catch (SQLException e) {
e.printStackTrace();
}
}, id); }
}
break;
}
}
}
}
}