package Stu;
import java.util.*;
public class StuManage {
public void menu(){
connectSQL s=new connectSQL();
int xuhao;
String b1 = null,c1=null,b111=null;
int a = 0,a1=0,b11=0,c11=0;
Scanner scanner=new Scanner(System.in);
System.out.println("欢迎来到学生信息管理系统");
System.out.println("1.新增学生");
System.out.println("2.修改学生");
System.out.println("3.删除学生");
System.out.println("4.查询学生");
System.out.println("5.显示所有学生信息");
System.out.println("6.退出该系统");
System.out.println("请选择(1-5):");
xuhao=scanner.nextInt();
switch (xuhao) {
case 1:
s.open();
stuadd();
s.down();
break;
case 2:
update();
break;
case 3:
studel();
s.open();
s.shanchu(a);
s.down();
break;
case 4:
stuList();
s.open();
s.chaxun(b11);
s.down();
break;
case 5:
xianshi();
s.open();
s.xianshi();
s.down();
break;
case 6:
System.exit(0);
break;
default:
System.out.println("输入有误:程序自动退出,请重启程序");
break;
}
}
public void stuadd(){
connectSQL x=new connectSQL();
Scanner s=new Scanner(System.in);
String select,jieshou,name=null;
int no=0,phone=0;
System.out.println("====新增学生====");
System.out.println("学号:");
no=s.nextInt();
jieshou=s.nextLine();
System.out.println("姓名:");
name=s.nextLine();
System.out.println("手机号:");
phone=s.nextInt();
System.out.println("您输入的信息为:学号:"+no+" "+"姓名:"+name+" "+"手机号:"+phone);
System.out.println("是否保存?y/n");
jieshou=s.nextLine();
select=s.nextLine();
if(select.equals("y")){
x.tianjia(no,name,phone);
System.out.println("保存成功!");
}
else if(select.equals("n")){
System.out.println("请重新输入");
}
}
package Stu;
import java.sql.*;
public class connectSQL {
Connection con=null;
PreparedStatement st=null;
ResultSet rs=null;
public void open(){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String uri="jdbc:mysql://localhost:3306/qinyewei?user=root&password=123456&userSSL=ture";
try{
con=DriverManager.getConnection(uri);
}
catch(SQLException e){
System.out.println(e);
}
}
public void down(){
try {
con.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
void xianshi(){
try{
st=con.prepareStatement("select * from stu");
rs=st.executeQuery();
while(rs.next()) {
String a=rs.getString(1);
String b=rs.getString(2);
String c=rs.getString(3);
System.out.printf("%s\t",a);
System.out.printf("%5s\t",b);
System.out.println(c);
}
}
catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
void tianjia(int a1,String b1,int c1) {
try {
System.out.println(a1);
System.out.println(b1);
System.out.println(c1);
st=con.prepareStatement("insert stu values(?,?,?)");
st.setInt(1,a1);
st.setString(2,b1);
st.setInt(3,c1);
int i=st.executeUpdate();
System.out.println("添加了"+i+"条记录");
this.xianshi();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
运行后输入1、学号、姓名、手机号以后出现错误是为什么呢?
欢迎来到学生信息管理系统
1.新增学生
2.修改学生
3.删除学生
4.查询学生
5.显示所有学生信息
6.退出该系统
请选择(1-5):
1
====新增学生====
学号:
123123
姓名:
weqwe
手机号:
123123
您输入的信息为:学号:123123 姓名:weqwe 手机号:123123
是否保存?y/n
y
123123
weqwe
123123
java.lang.NullPointerException保存成功!
at Stu.connectSQL.tianjia(connectSQL.java:56)
at Stu.StuManage.stuadd(StuManage.java:72)
at Stu.StuManage.menu(StuManage.java:22)
at Stu.Main.main(Main.java:7)
第56行代码是
st=con.prepareStatement("insert stu values(?,?,?)");