具体代码
-- 创建学生数据库
CREATE DATABASE student_database;
-- 使用学生数据库
USE student_database
-- 创建学生表
create TABLE student2(
stu_id int PRIMARY KEY auto_increment, --学号主键自增长
stu_name VARCHAR(10),--姓名
stu_age int ,--年龄
stu_sex VARCHAR(3),--性别
stu_class VARCHAR(10)--年级);
package student;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
public class PropertiesUtil {
public static Properties drive() throws Exception {
File file = new File("zixi4/connetion.properties");
FileInputStream fis = new FileInputStream(file);
Properties p = new Properties();
p.load(fis);
return p;
}
}
优点:通过properties文件传信息便于修改,不用修改java源代码,只需需改properties文件即可,便于维护。(切换数据库的时候,只需修改配置文件(properties文件))
package student;
import java.sql.*;
import java.util.Scanner;
public class Student_jdbc {
static Scanner sc=new Scanner(System.in);
public static Connection conn;//创建连接对象(将Connection 放在方法体外面扩大适用范围)
//mysql语句:添加信息
private static final String SQL1 = "insert into student2(stu_name,stu_age,stu_sex,stu_class) values (?,?,?,?)";
//mysql语句:删除语句
private static final String SQL2 = "delete from student2 where stu_id=?";
//mysql语句:修改语句
private static final String SQL3 = "update student2 set stu_name=?,stu_age=?,stu_sex=?,stu_class=? where stu_id=?";
//mysql语句:根据学号查询信息
private static final String SQL4 = " select * from student2 WHERE stu_id=?";
//mysql语句:查询所有学生
private static final String SQL5 = " select * from student2";
//连接数据库的方法
public static void connetionDatabse() throws Exception {
//从properties文件中获取连接数据库的信息
//加载驱动
String driver=PropertiesUtil.drive().getProperty("DRIVER");
//数据库用户名
String user=PropertiesUtil.drive().getProperty("USER");
//数据库密码
String pwd=PropertiesUtil.drive().getProperty("PWD");
//数据库url
String url=PropertiesUtil.drive().getProperty("URL");
//1.加载驱动
Class.forName(driver);
//2.创建连接对象(没有报错说明连接成功)
conn= DriverManager.getConnection(url,user,pwd);
System.out.println("数据库连接成功");
}
//通过java控制台输入向数据库添加信息
public static void add() throws SQLException {
// 添加学生信息
System.out.println("------------添加学生信息---------------------");
System.out.println("请输入您要添加的学生姓名:");
String stuName=sc.next();
System.out.println("请输入您要添加的学生年龄:");
int stuAge=sc.nextInt();
System.out.println("请输入您要添加的学生性别:");
String stuSex=sc.next();
System.out.println("请输入您要添加的学生班级:");
String stuClass=sc.next();
//3.通过mysql语句实现添加操作
PreparedStatement ps =conn.prepareStatement(SQL1);
//4.将添加的信息传入数据库中
ps.setString(1,stuName);
ps.setInt(2,stuAge);
ps.setString(3,stuSex);
ps.setString(4,stuClass);
//5判断数据库中受影响行数(添加成功则返回的是大于0的整数,没有添加进去返回的是0)
if(ps.executeUpdate()>0){
System.out.println("添加成功!");
}else{
System.out.println("添加失败!");
}
}
//通过java控制台输入向数据库删除信息
public static void remove() throws SQLException {
//通过mysql语句实现删除操作
PreparedStatement ps2 = conn.prepareStatement(SQL2);
System.out.println("------------删除学生信息---------------------");
System.out.println("请输入您要删除的学生学号");
int id=sc.nextInt();
ps2.setInt(1,id);
if(ps2.executeUpdate()>0){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}
// 通过java控制台输入向数据库修改信息
public static void update() throws SQLException {
//通过mysql语句实现修改操作
PreparedStatement ps3 = conn.prepareStatement(SQL3);
System.out.println("------------修改学生信息---------------------");
System.out.println("请输入您要修改的学生学号");
int id3=sc.nextInt();
System.out.println("请输入您要修改的学生姓名:");
String stuName3=sc.next();
System.out.println("请输入您要修改的学生年龄:");
int stuAge3=sc.nextInt();
System.out.println("请输入您要修改的学生性别:");
String stuSex3=sc.next();
System.out.println("请输入您要修改的学生班级:");
String stuClass3=sc.next();
ps3.setInt(5,id3);
ps3.setString(1,stuName3);
ps3.setInt(2,stuAge3);
ps3.setString(3,stuSex3);
ps3.setString(4,stuClass3);
if(ps3.executeUpdate()>0){
System.out.println("修改成功!");
}else{
System.out.println("修改失败!");
}
}
//通过学号查找学生信息
public static void show() throws SQLException {
//通过mysql语句实现查询操作
PreparedStatement ps4 = conn.prepareStatement(SQL4);
System.out.println("------------查找学生信息---------------------");
System.out.println("请输入您要查找的学生学号:");
int id4=sc.nextInt();
ps4.setInt(1,id4);
ResultSet resultSet = ps4.executeQuery();
System.out.println("------------查询结果---------------------");
while (resultSet.next()){
System.out.println(resultSet.getString(1)+"--" +
""+resultSet.getString(2)+"---"+resultSet.getString(3)+"---"
+resultSet.getString(4)+"---"+resultSet.getString(5));
}
}
//查询所有学生的信息
public static void showAll() throws SQLException {
//通过mysql语句实现查询所有操作
PreparedStatement ps4 = conn.prepareStatement(SQL5);
System.out.println("------------所有学生信息---------------------");
ResultSet resultSet = ps4.executeQuery();
System.out.println("------------查询结果---------------------");
while (resultSet.next()){
System.out.println(resultSet.getString(1)+"--" +
""+resultSet.getString(2)+"---"+resultSet.getString(3)+"---"
+resultSet.getString(4)+"---"+resultSet.getString(5));
}
}
//主方法内实现增删查改
public static void main(String[] args) throws Exception {
Student_jdbc.connetionDatabse();
while (true){
System.out.println("-----------欢迎来到学生管理系统-----------------");
Scanner sc=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("其他.退出系统");
int menue=sc.nextInt();
if(menue==1){
Student_jdbc.add();
}else if(menue==2){
Student_jdbc.remove();
}else if(menue==3){
Student_jdbc.update();
}else if(menue==4){
Student_jdbc.show();
}else if(menue==5){
Student_jdbc.showAll();
}else{
System.out.println("谢谢使用!");
break;
}
}
//7.关闭连接
conn.close();
}
}