Java连接mysql简单学生管理系统

超级简单的学生管理系统,只需要一个文件

package haha;

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.*;

import java.sql.Statement;

import java.util.Scanner;

public class Test {

static Connection conn ;

static Statement statement;

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

login();

}

public static void control() {

JFrame jf = new JFrame("学生管理系统");

jf.setLayout(new FlowLayout(FlowLayout.LEFT));

jf.setBounds(400, 300, 300, 200);

JButton button = new JButton("更新");

JButton button2=new JButton("删除");

JButton button3=new JButton("添加");

JButton button4=new JButton("查询");

jf.add(button);

jf.add(button2);

jf.add(button3);

jf.add(button4);

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

update();

}

});

button2.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

delete();

}

});

button3.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

insert();

}

});

button4.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {onequery();}

});

jf.setVisible(true);

jf.setResizable(false);

button.setSize(40, 20);

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}

public static void update() {

conn = getConnection();

JFrame jf = new JFrame("学生管理系统");

jf.setLayout(new FlowLayout(FlowLayout.LEFT));

jf.setBounds(400, 300, 300, 200);

JLabel label1 = new JLabel("年龄");

JTextField agetext = new JTextField("", 10);

JLabel label2 = new JLabel("id");

JTextField idtext = new JTextField("", 10);

JLabel label3 = new JLabel("地址");

JTextField addresstext = new JTextField("", 10);

JLabel label4 = new JLabel("姓名");

JTextField nametext = new JTextField("", 5);

JTextField out = new JTextField("更新状态", 20);

JButton button = new JButton("更新");

jf.add(label1);

jf.add(agetext);

jf.add(label2);

jf.add(idtext);

jf.add(label3);

jf.add(addresstext);

jf.add(label4);

jf.add(nametext);

jf.add(out);

jf.add(button);

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String age = agetext.getText();

String id = idtext.getText();

String address= addresstext.getText();

String name=nametext.getText();

try {

// 更新数据的sql语句

String sql = "update student set age =? , address =?, name=? where id=?";

PreparedStatement ps=conn.prepareStatement(sql);

ps.setString(1,agetext.getText());

ps.setString(2,addresstext.getText());

ps.setString(3,nametext.getText());

ps.setString(4,idtext.getText());

ps.executeUpdate();

ps.close();

//关闭数据库连接

conn.close();

out.setText("更新成功!!!!!!!!");

// 创建用于执行静态sql语句的Statement对象,st属局部变量

} catch (SQLException a) {

System.out.println("更新数据失败");

}

}

});

jf.setVisible(true);

jf.setResizable(false);

button.setSize(40, 20);

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}

public static void delete() {

conn = getConnection();

JFrame jf = new JFrame("学生管理系统");

jf.setLayout(new FlowLayout(FlowLayout.LEFT));

jf.setBounds(400, 300, 300, 200);

JLabel label2 = new JLabel("id");

JTextField idtext = new JTextField("", 10);

JTextField out = new JTextField("删除状态", 20);

JButton button = new JButton("删除");

jf.add(label2);

jf.add(idtext);

jf.add(out);

jf.add(button);

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String id = idtext.getText();

PreparedStatement ps=null;

try {

// 删除数据的sql语句

String sql = "delete from Student where id = ?";

ps=conn.prepareStatement(sql);

ps.setString(1,idtext.getText());

ps.close();

out.setText("删除成功!!!!!!!!");

// 关闭数据库连接

conn.close();

} catch (SQLException c) {

System.out.println("删除数据失败");

}

}

});

jf.setVisible(true);

jf.setResizable(false);

button.setSize(40, 20);

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}

public static void insert() {

// 首先要获取连接,即连接到数据库

conn = getConnection();

JFrame jf = new JFrame("学生管理系统");

jf.setLayout(new FlowLayout(FlowLayout.LEFT));

jf.setBounds(400, 300, 300, 200);

JLabel label3 = new JLabel("id");

JTextField idtext = new JTextField("", 10);

JLabel label1 = new JLabel("年龄");

JTextField agetext = new JTextField("", 10);

JLabel label2 = new JLabel("姓名");

JTextField nametext = new JTextField("", 10);

JLabel label4 = new JLabel("地址");

JTextField addresstext = new JTextField("", 5);

JTextField out = new JTextField("添加状态", 20);

JButton button = new JButton("添加");

jf.add(label3);

jf.add(idtext);

jf.add(label1);

jf.add(agetext);

jf.add(label2);

jf.add(nametext);

jf.add(label4);

jf.add(addresstext);

jf.add(out);

jf.add(button);

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String age = agetext.getText();

String name = nametext.getText();

String id=idtext.getText();

String address=addresstext.getText();

try {

PreparedStatement ps=null;

// 插入数据的sql语句

String sql = "INSERT INTO Student( id,age,name,address) VALUES ( ?,?,?,?)";

ps=conn.prepareStatement(sql);

ps.setString(1,idtext.getText());

ps.setString(2,agetext.getText());

ps.setString(3,nametext.getText());

ps.setString(4,addresstext.getText());

ps.close();

out.setText("添加成功!!!!!!!!");

// 关闭数据库连接

conn.close();

} catch (SQLException d) {

System.out.println("插入数据失败" + d.getMessage());

}

}

});

jf.setVisible(true);

jf.setResizable(false);

button.setSize(40, 20);

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}

public static boolean login(){

conn = getConnection();

JFrame jf = new JFrame("学生管理系统");

jf.setLayout(new FlowLayout(FlowLayout.LEFT));

jf.setBounds(400, 300, 300, 200);

JLabel label1 = new JLabel("用户名");

JTextField usernametext = new JTextField("", 20);

JLabel label2 = new JLabel("密码");

JPasswordField pwdtext = new JPasswordField("", 20);

JTextField out = new JTextField("登录状态", 20);

JButton button = new JButton("登录");

jf.add(label1);

jf.add(usernametext);

jf.add(label2);

jf.add(pwdtext);

jf.add(out);

jf.add(button);

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 插入数据的sql语句

PreparedStatement ps=null;

try {

statement = conn.createStatement();//获取操作对象

String x = usernametext.getText();

String y = pwdtext.getText();

String sql ="select * from t_user";

ResultSet resultSet = statement.executeQuery(sql);

while(resultSet.next()){

String a=resultSet.getString("login_name");

String b=resultSet.getString("login_pwd");

if(a.equals(x)&&b.equals(y))

{

control();

out.setText("!!!!!登录成功!!!!!");

}

else if(x!=a&&y!=b){

out.setText("登录失败,请重新输入");

}

}

usernametext.setText("");

pwdtext.setText("");

} catch (SQLException throwables) {

throwables.printStackTrace();

}

}

});

jf.setVisible(true);

jf.setResizable(false);

button.setSize(40, 20);

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

boolean ok = true;

return ok;

}

public static void onequery() {

PreparedStatement ps=null;

conn = getConnection();

JFrame jf = new JFrame("学生管理系统");

jf.setLayout(new FlowLayout(FlowLayout.LEFT));

jf.setBounds(400, 300, 350, 200);

JLabel label3 = new JLabel("id");

JTextField idtext = new JTextField("", 10);

JLabel label1 = new JLabel("条件");

JTextField atext = new JTextField("", 10);

JButton button = new JButton("查询");

//JTextArea jm=new JTextArea("ID\t姓名\t年龄\t学籍");//显示界面

//jm.setBounds(10,50,350,100);//定义显示界面位置

jf.add(label3);

jf.add(idtext);

jf.add(button);

//jf.add(jm);

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

PreparedStatement ps=null;

String id=idtext.getText();

conn = getConnection();

try {

String sql = "select * from student where id = ?";

//创建用于执行静态sql语句的Statement对象,statement属局部变量

ps=conn.prepareStatement(sql);//获取操作对象

ps.setString(1,idtext.getText().toString());

ResultSet resultSet = ps.executeQuery();// executeQuery执行单个SQL语句,返回单个ResultSet对象是

while (resultSet.next())//循环没有数据的时候返回flase退出循环

{

Integer Id = resultSet.getInt("id");//resultSet.next()是一个光标

String name = resultSet.getString("name");//getString返回的值一定是string

Integer age = resultSet.getInt("age");

String address=resultSet.getString("address");

System.out.println(Id + " " + name + " " + age + " "+ address + " " );

//输出查到的记录的各个字段的值

//jm.append("\n"+Id + "\t" + name + "\t" + age+ "\t" + address );

}

statement.close();

conn.close();

}catch (SQLException m){

System.out.println(m.getMessage());

System.out.println("查询失败!!!!!!!!");

}

}

});

jf.setVisible(true);

jf.setResizable(false);

button.setSize(40, 20);

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}

public static Connection getConnection(){

//创建用于连接数据库的Connection对象

Connection connection = null;

try {

// 加载Mysql数据驱动

Class.forName("com.mysql.cj.jdbc.Driver");

System.out.println("数据库驱动加载成功");

String url = "jdbc:mysql://localhost:3306/test";

// 创建数据连接

connection = DriverManager.getConnection(url, "root", "root");

System.out.println("数据库连接成功");

}catch (ClassNotFoundException | SQLException e){

System.out.println("数据库连接失败" + e.getMessage());//处理查询结果

}

return connection;

}

}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值