先写一个数据操作的类
package mysql;
import java.sql.*;
public class doData {
public static Connection getConn() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/student";
String user = "root";
String pwd = "root";
Connection conn = DriverManager.getConnection(url,user,pwd);
return conn;
}
public static void doQuery(int num) {
try {
Connection conn = doData.getConn();
PreparedStatement ps = conn.prepareStatement("select * from stuInfo where sno=?");
ps.setInt(1,num);
ResultSet rs = ps.executeQuery();
if (rs.next()){
int sno = rs.getInt("sno");
if (sno == num){
String name = rs.getString("name");
String sclass = rs.getString("sclass");
System.out.println("查询结果>>学号:"+sno+",姓名:"+name+",班级:"+sclass);
System.out.println();
}
}
} catch (SQLException throwables) {
System.out.println("该数据不存在或输入不合法!");
} catch (ClassNotFoundException e) {
System.out.println("数据库加载有问题!");
}
}
public static boolean doInsert(int sno,String name,String sclass) {
doData getConn = new doData();
Connection conn = null;
try {
conn = getConn.getConn();
PreparedStatement ps = conn.prepareStatement("insert into stuInfo values (?,?,?)");
ps.setInt(1,sno);
ps.setNString(2,name);
ps.setString(3,sclass);
int n = ps.executeUpdate();
if (n>0){
System.out.println("添加成功!");
return true;
}
} catch (ClassNotFoundException e) {
System.out.println("数据库加载有问题!");
} catch (SQLException throwables) {
System.out.println("该数据已存在或输入不合法!");
}
return false;
}
public static boolean doDelete(Integer sno){
try {
Connection conn = doData.getConn();
PreparedStatement ps = conn.prepareStatement("delete from stuInfo where sno=?");
ps.setInt(1,sno);
int i = ps.executeUpdate();
if (i>0){
System.out.println("删除成功!\n");
return true;
}
} catch (ClassNotFoundException e) {
System.out.println("数据库加载有问题!");
} catch (SQLException throwables) {
System.out.println("该学号不存在或输入不合法!");
}
return false;
}
public static void findAll(){
Connection conn = null;
try {
conn = doData.getConn();
} catch (ClassNotFoundException e) {
System.out.println("数据库连接失败!请重试!");
} catch (SQLException throwables) {
System.out.println("数据库连接失败!请重试!");
}
PreparedStatement ps = null;
try {
ps = conn.prepareStatement("select * from stuInfo");
} catch (SQLException throwables) {
System.out.println("发生内部错误,请重试!");
}
try {
ResultSet rs = ps.executeQuery();
if (rs.next()){
int sno = rs.getInt("sno");
String name = rs.getString("name");
String sclass = rs.getString("sclass");
System.out.println("姓名:'" + name + '\'' +
", 学号:" + sno +
", 班级:'" + sclass + '\'');
}else {
System.out.println("数据库没有学生,请添加!!");
}
System.out.println();
} catch (SQLException throwables) {
System.out.println("发生内部错误,请重试!");
}
}
}
主写主程序依然用switch case 判断用户输入然后调用方法:
package ArrayList;
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.Scanner;
import mysql.doData;
public class stuinfo {
static student stu = new student();
static ArrayList<student> arr = new ArrayList<student>();
public static void main(String[] args) {
System.out.println("欢迎使用,学生信息管理系统!");
while (true) {
System.out.println("输入1查看所有学生信息;");
System.out.println("输入2添加学生;");
System.out.println("输入3按姓名查看学生信息;");
System.out.println("输入4按姓名删除学生信息;");
System.out.println("输入0退出学生信息管理系统;");
Scanner s = new Scanner(System.in);
try {
int num = Integer.parseInt(s.nextLine());
switch (num) {
case 0:
//退出
System.out.println("谢谢使用!");
System.exit(0);
case 1:
//显示全部
doData.findAll();
break;
case 2:
//添加
try {
Scanner newline = new Scanner(System.in);
System.out.println("请输入学生学号:");
int i = Integer.parseInt(newline.nextLine());
System.out.println("输入学生姓名:");
String name = newline.nextLine();
System.out.println("输入学生班级:");
String sclass = newline.nextLine();
doData.doInsert(i,name,sclass);
System.out.println("\n");
}catch (InputMismatchException e){
System.out.println("输入内容不合法!");
}catch (NumberFormatException e){
System.out.println("输入错误,请重新输入!");
}
break;
case 3:
//查询
Scanner newline = new Scanner(System.in);
System.out.println("请输入查询学生的学号:");
try {
int n = newline.nextInt();
doData.doQuery(n);
}catch (InputMismatchException e){
System.out.println("输入不合法,请输入正确的学生学号!");
System.out.println("\n");
}
break;
case 4:
//删除
try {
Scanner delLine = new Scanner(System.in);
System.out.println("请输入要删除的学号:");
Integer sno = Integer.parseInt(delLine.nextLine());
doData.doDelete(sno);
}catch (InputMismatchException e){
System.out.println("输入学号格式不正确,请重新输入!");
System.out.println();
}catch (NumberFormatException e){
System.out.println("输入学号格式不正确,请重新输入!");
System.out.println();
}
break;
}
}catch (NumberFormatException e){
System.out.println("输入错误,请重新输入!");
}
}
}
}