《JAVA》设计一个学生管理小程序,完成学生数据的增删改查操作,要求学生数据保存到mysql数据库。

这个Java程序实现了数据库连接,包含一个`Dbconn`类用于数据库连接,一个`Student0`类表示学生信息,一个`StudentDao`类用于CRUD操作。此外,还有一个`StudentMangerFrm`类,它是一个学生管理的GUI界面,提供了录入、修改、删除、查询等学生信息的操作。
摘要由CSDN通过智能技术生成

Sy8

package jAVA;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

/*

 * 数据库  连接类

 */

/**

 * @author 

 *

 */

public class Dbconn {

private static String driver="com.mysql.jdbc.Driver";

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

private static String name = "root";

private static String pass="123456";

public Dbconn() {

}

  private static Connection conn=null;

public static Connection getConnection() {

if(conn==null){

try {

Class.forName(driver);

conn= DriverManager.getConnection(url, name, pass);

return conn;

} catch (ClassNotFoundException  | SQLException e) {

}

       }

return conn;

}

   public static void main(String[] args) {

// TODO 自动生成的方法存根

   }

}

package jAVA;

/**

 * @

 *

 */

public class Student0 {

private String id;

private String name;

private String sex;

private double score;

public Student0(){

}

public Student0(String id, String name, String sex, double score) {

super();

this.id = id;

this.name = name;

this.sex = sex;

this.score = score;

}

public Student0(int id2, String name2, String sex2, double score2) {

// TODO 自动生成的构造函数存根

}

public String getId(int i) {

return id;

}

public String getName() {

return name;

}

public String getSex() {

return sex;

}

public double getScore() {

return score;

}

public static void main(String[] args) {

// TODO 自动生成的方法存根

}

}

package jAVA;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

/*

 * 

 */

public class StudentDao {

Connection conn = Dbconn.getConnection();

public boolean addStudent(Student0 s) {

try {

String sql = "insert into student value(?,?,?,?)";

PreparedStatement ppdstmt = conn.prepareStatement(sql);

ppdstmt.setString(1, s.getId(0));

ppdstmt.setString(2, s.getName());

ppdstmt.setString(3, s.getSex());

ppdstmt.setDouble(4, s.getScore());

int ret = ppdstmt.executeUpdate();

return ret>0?true:false;

} catch (SQLException e) {

}

return false;

}

public boolean delStudent(String id){

try{

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

          PreparedStatement ppdstmt=conn.prepareStatement(sql);

          ppdstmt.setString(1, id);          

          int ret=ppdstmt.executeUpdate();

          return ret  >  0  ? true:false;

}catch(SQLException e){

}

return false;

}

public boolean updateStudent(Student0 s){

try {

String sql = "update student set name=?,sex=?,score=?,where id=?";

PreparedStatement ppdstmt = conn.prepareStatement(sql);

ppdstmt.setString(1, s.getName());

ppdstmt.setString(2, s.getSex());

ppdstmt.setDouble(3, s.getScore());

ppdstmt.setString(4, s.getId(0));

int ret = ppdstmt.executeUpdate();

return ret>0?true:false;

} catch (SQLException e) {

}

return false;

}

public List<Student0> queryStudents(){

List<Student0>list=new ArrayList<Student0>();

try{

String sql="select * from student ";

PreparedStatement ppdstmt=conn.prepareStatement(sql);

ResultSet rs=ppdstmt.executeQuery();

while(rs.next()){

String id=rs.getString(1);

String name=rs.getString(2);

String sex=rs.getString(3);

double  score=rs.getDouble(4);

Student0 s=new Student0(id,name,sex,score);

list.add(s);

}

}catch(SQLException e){

}

return list;

}

//按学号查找

public Student0 queryStudentById(int id){

try{

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

PreparedStatement ppdstmt=conn.prepareStatement(sql);

ppdstmt.setLong(1, id);

ResultSet rs=ppdstmt.executeQuery();

while(rs.next()){

String name=rs.getString(2);

String sex=rs.getString(3);

double  score=rs.getDouble(4);

Student0 s=new Student0(id,name,sex,score);

    return s;

}

}catch(SQLException e){

}

return null;

}

public static void main(String[] args) {

}

public List<Student0> queryAllStudent() {

// TODO 自动生成的方法存根

return null;

}

public boolean updateStudent(int id) {

// TODO 自动生成的方法存根

return false;

}

public boolean resetStudent() {

// TODO 自动生成的方法存根

return false;

}

}package jAVA;

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.List;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

import util.Common;

/**

 * @author 

 *

 */

public class StudentMangerFrm extends JFrame{

private Container pnlMain;

private JButton btnAdd = new JButton("  录  入  ");

private JButton btnUpdate = new JButton("  修  改  ");

private JButton btnDelete = new JButton("  删  除  ");

private JButton btnQuery = new JButton("  查  询  ");

private JButton btnReset = new JButton("  重  置  ");

private JButton btnQueryAll = new JButton(" 查询所有 ");

private JTextField txtId;

private JTextField txtName;

private JComboBox comSex;

private JTextField txtScore;

private JTable tblStu;

public StudentMangerFrm(){

initFrm();

initCompoent();

initFunction();

initShow();

}

private void initShow() {

int i=0;

StudentDao dao=new StudentDao();

List<Student0> list=dao.queryAllStudent();

String table[][]=new String[list.size()][5];

for(i=0;i<list.size();i++){

table[i][0]=Integer.toString(i+1);

table[i][1]=Integer.toString(1);

table[i][2]=list.get(i).getName();

table[i][3]=list.get(i).getSex();

table[i][4]=Double.toString(list.get(i).getScore());

}

String colName[]={"序号","学号","姓名","性别","成绩"};

DefaultTableModel tm=new DefaultTableModel(table,colName);

tblStu.setModel(tm);

}

public boolean check(){

int id=Integer.parseInt(txtId.getText().trim());

StudentDao dao=new StudentDao();

if(dao.queryStudentById(id)!=null){

return false;

}

return true;

}

private void initFunction() {

btnAdd.addActionListener(new ActionListener(){

public void actionPerfrimed(ActionEvent e){

if(txtId.getText()!=null){

int id=Integer.parseInt(txtId.getText().trim());

String name=txtName.getText().trim();

Object combSex;

double score=Double.parseDouble(txtScore.getText().trim());

String sex;

Student0 s=new Student0(id,name,sex,score);

StudentDao dao=new StudentDao();

boolean ret=dao.addStudent(s);

if(ret==true){

txtId.setText("");

txtName.setText("");

txtScore.setText("");

}

}

}

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO 自动生成的方法存根

}

});

btnDelete.addActionListener(new ActionListener((){

public void actionPerformed(ActionEvent e){

int id=Integer.parseInt(txtId.getText());

StudentDao dao=new StudentDao();

boolean ret=dao.updateStudent(id);

}

});

btnUpdate.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

if(txtId.getText()!=null){

int id=Integer.parseInt(txtId.getText().trim());

String name=txtName.getText().trim();

JComboBox combSex;

String sex=(String) combSex.getSelectedItem();

double score=Double.parseDouble(txtScore.getText().trim());

StudentDao dao=new StudentDao();

boolean ret=dao.updateStudent(id);

}

}

});

btnReset.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

StudentDao dao=new StudentDao();

boolean ret=dao.resetStudent();

    }

});

btnQueryAll . addActionListener(new ActionListener(){

public void actionPerformed(int e){

int i=e;

StudentDao dao=new StudentDao();

List<Student0> list=dao.queryAllStudent();

String table[][]=new String[list.size()][5];

for (i=0;i<list.size();i++){

table[i][0]=Integer.toString(i + 1);

table[i][1]=Integer.toString(1);

table[i][2]=list.get(i).getName();

table[i][3]=list.get(i).getSex();

table[i][4]=Double. toString(list.get(i).getScore());

}

String colName[]={ "序号","学号","姓名","性别","成绩" };

DefaultTableModel tm=new DefaultTableModel(table, colName);

tblStu. setModel(tm);

}

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO 自动生成的方法存根

}

});

btnQuery.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

StudentDao dao=new StudentDao();

int id=Integer.parseInt(txtId.getText().trim());

    Student0 st=dao.queryStudentById(id);

}

});

btnQuery.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

StudentDao dao=new StudentDao();

int id=Integer.parseInt(txtId.getText().trim());

                Student0 st=dao.queryStudentById(id);

                String table[][]=new String[1][5];

                table[0][0]="1";

                table[0][1]=Integer.toString(1);

                table[0][2]=st.getName();

table[0][3]=st.getSex();

table[0][4]=Double.toString(st.getScore());

String colName[]={ "序号","学号","姓名","性别","成绩" };

DefaultTableModel tm=new DefaultTableModel(table, colName);

tblStu. setModel(tm);

}

});

}

public void initCompoent(){

//上

JPanel pnlTop = new JPanel();

JLabel lblId = new JLabel("            学  号:  ");

JTextField txtId = new JTextField(20);

JLabel lblName = new JLabel("            姓  名:  ");

JTextField txtName = new JTextField(20);

JLabel lblSex = new JLabel("            性  别:  ");

@SuppressWarnings("rawtypes")

JComboBox combSex = new JComboBox(new String[]{" 男 "," 女 "});

combSex.setSelectedItem((String)" 男");

JLabel lblScore = new JLabel("            成  绩:  ");

JTextField txtScore = new JTextField(20);

pnlTop.add(lblId);

pnlTop.add(txtId);

pnlTop.add(lblSex);

pnlTop.add(combSex);

pnlTop.add(new JLabel("                                                         "));

pnlTop.add(lblName);

pnlTop.add(txtName);

pnlTop.add(lblScore);

pnlTop.add(txtScore);

pnlTop.add(btnAdd);

pnlTop.add(btnUpdate);

pnlTop.add(btnDelete);

pnlTop.add(btnQuery);

pnlTop.add(btnReset);

pnlTop.add(btnQueryAll);

//下

JPanel pnlBot = new JPanel(new BorderLayout());

JTable tblStu = new JTable(new DefaultTableModel(15,5));

JScrollPane srlStu = new JScrollPane(tblStu);

pnlBot.add(new JLabel("  学生信息:"),BorderLayout.NORTH);

pnlBot.add(srlStu,BorderLayout.CENTER);

//

//pnlMain.setLayout(new FlowLayout());

pnlMain.setLayout(new GridLayout(2,1));

//pnlMain.setLayout(new BorderLayout());

pnlMain.add(pnlTop);

pnlMain.add(pnlBot);

}

public void initFrm() {

//1.标题

this.setTitle("学生管理 - 数据库");

//2.logo

Toolkit toolkit = Toolkit.getDefaultToolkit();

Image image = toolkit.getImage(Common.getClassPath() + "pic/logo.jpg");

this.setIconImage(image);

//3.大小

this.setSize(660, 480);

//4.居中

Dimension screenSize = toolkit.getScreenSize();

double x = (screenSize.getWidth()-this.getWidth())/2;

double y = (screenSize.getHeight()-this.getHeight())/2;

this.setLocation((int)x, (int)y);

//正常退出

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//关闭最大化

//this.setResizable(false);

pnlMain = this.getContentPane();

}

public static void main(String[] args) {

new StudentMangerFrm().setVisible(true);

}

}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值