實戰要求:使用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;
}
}
}
}
}