java 1.定义一个数据表(比如图书信息表等) 2.为这个表建立一个类,设置和得到实例信息3.建立一个DAO类,实现对数据表的增删改查

SSM框架整合---完成对图书数据表的增删改查 学习来源–>B站传送门–>【狂神说Java】SSM框架最新整合教学IDEA版 感谢狂神❤ ml1.先去创建数据表2. 创建maven普通项目,导入需要的依赖包3.mybatis层entitydaoservice4.spring层5.springmvc6.查询书籍功能实现 1.先去创建数据表 并且放入几条初始化数据 -- 创建数据库 CREATE DATABASE IF NOT EXISTS day20211018_booksms_db CHARSET utf8; -- 创建图书表; C 阅读详情

1.定义一个数据表
2.为这个表建立一个类,成员变量是表的字段、方法是每个成员变量的getter与setter
3.建立一个DAO类,实现对这个表的数据的添加、删除、更新、查询(包括查询单条记录与查询多条记录)
4.建立一个Swing程序、控制台程序(二选一),实现对这个数据表的增删改查功能。

步骤:

定义一个数据表,直接在SQL数据库中定义就行。如果不清楚怎么在Java和SQL数据库中搭建JDBC,请看我的用JDBC连接SQL Server2017数据库。在这里我建立了一个学生信息的数据表。

做准备工作:

建一个Java链接SQL数据库的类:

DbTools.java:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import cn.model.www.Students;

public class DbTools {
	Connection conn;
	public Connection getConn(){
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			String url="jdbc:sqlserver://localhost:1433;DatabaseName=填写你的表格名";
			String user="你的SQL账户";
			String password="账户密码";
			conn=DriverManager.getConnection(url, user, password);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	
	
}

 

为这个表建立一个Students的类:

public class Students {
	private int id;
	private String sname;
	private String sex;
	private int age;
	private String hobby;
	private String sclass;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getHobby() {
		return hobby;
	}
	public void setHobby(String hobby) {
		this.hobby = hobby;
	}
	public String getSclass() {
		return sclass;
	}
	public void setSclass(String sclass) {
		this.sclass = sclass;
	}

}

 

建立一个更新数据的类:

public class UpDateNumber {
	private int number;
	static int n;

	public  int getNumber() {
		return number;
	}

	public  void setNumber(int number) {
		this.number = number;
		n=number;
	}
	public static int getN(){
		return n;
	}

}

 

建立一个DAO类,实现对这个表的数据的添加、删除、更新、查询(包括查询单条记录与查询多条记录):

package cn.dao.www;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import cn.db.www.DbTools;
import cn.model.www.Students;

public class StuDao {
	
	public int addusers(Students stu){	// 添加学生信息
		int i=0;
		DbTools db=new DbTools();
		Connection conn=db.getConn();
		try {
			String sql="insert into tb_student (sname,sex,age,hobby,sclass)values(?,?,?,?,?)";
			PreparedStatement ps=conn.prepareStatement(sql);
			ps.setString(1, stu.getSname());
			ps.setString(2, stu.getSex());
			ps.setInt(3, stu.getAge());
			ps.setString(4, stu.getHobby());
			ps.setString(5, stu.getSclass());
			i=ps.executeUpdate();
			ps.close();
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return i;
	}
	public int updateusers(Students stu,int id){	// 修改学生信息
		int i=0;
		DbTools db=new DbTools();
		Connection conn=db.getConn();
		try {
			String sql="update tb_student set sname=?,sex=?,age=?,hobby=?,sclass=? where id=?";
			PreparedStatement ps=conn.prepareStatement(sql);
			ps.setString(1, stu.getSname());
			ps.setString(2, stu.getSex());
			ps.setInt(3, stu.getAge());
			ps.setString(4, stu.getHobby());
			ps.setString(5, stu.getSclass());
			ps.setInt(6, id);
			i=ps.executeUpdate();
			ps.close();
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return i;
	}
	public List selectAll(){				// 查询所有学生信息
		String sql="select * from tb_student";
		DbTools db=new DbTools();
		Connection conn=db.getConn();
		ResultSet rs=null;
		List<Students> ls=new ArrayList<Students>();
		try {
			Statement st=conn.createStatement();
			rs=st.executeQuery(sql);
			
			while(rs.next()){
				Students stu=new Students();
				stu.setId(rs.getInt("id"));
				stu.setSname(rs.getString("sname"));
				stu.setSex(rs.getString("sex"));
				stu.setAge(rs.getInt("age"));
				stu.setHobby(rs.getString("hobby"));
				stu.setSclass(rs.getString("sclass"));
				ls.add(stu);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return ls;
	}
	public Students getOne(int id){		// 查询一个学生信息
		Students stu=new Students();
		String sql="select * from tb_student where id="+id;
		DbTools db=new DbTools();
		Connection conn=db.getConn();
		ResultSet rs=null;
		try {
			Statement st=conn.createStatement();
			rs=st.executeQuery(sql);
			while(rs.next()){
				stu.setSname(rs.getString("sname"));
				stu.setSex(rs.getString("sex"));
				stu.setAge(rs.getInt("age"));
				stu.setHobby(rs.getString("hobby"));
				stu.setSclass(rs.getString("sclass"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return stu;
	}
	
	public void deleteStu(int id){		// 删除一个学生信息
		String sql="delete from tb_student where id="+id;
		DbTools db=new DbTools();
		Connection conn=db.getConn();
		ResultSet rs=null;
		try {
			Statement st=conn.createStatement();
			st.execute(sql);
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

开始设计Swing程序窗口对数据库进行增删改查:

包含三个窗口:一个主窗口(MainFrame),一个添加窗口(InsertStuFrame),一个更新窗口(UpdateStuFrame)

MainFrame.java:

package cn.frame.www;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

import cn.dao.www.StuDao;
import cn.model.www.Students;
import cn.model.www.UpDateNumber;

public class MainFrame extends JFrame {

	private JPanel contentPane;
	private JTable table;
	private StuDao dao = new StuDao();
	JScrollPane scrollPane = new JScrollPane();
	private DefaultTableModel defaultModel;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					MainFrame frame = new MainFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public MainFrame() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 426, 357);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		JPanel panel = new JPanel();
		panel.setBounds(0, 0, 576, 417);
		contentPane.add(panel);
		panel.setLayout(null);

		JLabel messageLabel = new JLabel("\u5B66\u751F\u4FE1\u606F");
		messageLabel.setFont(new Font("华文中宋", Font.PLAIN, 16));
		messageLabel.setBounds(149, 26, 108, 34);
		panel.add(messageLabel);

		scrollPane.setBounds(33, 70, 346, 204);
		panel.add(scrollPane);

		selecttable();
		JButton deleteButton = new JButton("删除");
		deleteButton.addActionListener(

				new ActionListener() {
					public void actionPerformed(ActionEvent arg0) {
						do_deleteButton_actionPerformed(arg0);
					}
				}

		);
		deleteButton.setBounds(209, 284, 73, 23);
		panel.add(deleteButton);

		JButton closeButton = new JButton("关闭");
		closeButton.addActionListener(

				new ActionListener() {
					public void actionPerformed(ActionEvent arg0) {
						do_button_1_actionPerformed(arg0);
					}
				}

		);
		closeButton.setBounds(292, 284, 73, 23);
		panel.add(closeButton);

		JButton button = new JButton("\u4FEE\u6539");
		button.addActionListener(

				new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						do_button_actionPerformed(e);
					}
				}

		);
		button.setBounds(126, 284, 73, 23);
		panel.add(button);

		JButton button_1 = new JButton("\u6DFB\u52A0");
		button_1.addActionListener(

				new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						addstu(e);
					}
				}

		);
		button_1.setBounds(43, 284, 73, 23);
		panel.add(button_1);
	}

	public void selecttable() {
		table = new JTable();

		defaultModel = (DefaultTableModel) table.getModel();// 获得表格模型
		defaultModel.setRowCount(0);// 清空表格模型中的数据

		defaultModel.setColumnIdentifiers(new Object[] { "学号", "姓名", "性别", "年龄", "班级" });// 定义表头

		table.getTableHeader().setReorderingAllowed(false);
		table.setModel(defaultModel);// 设置表格模型
		List list = dao.selectAll();
		for (int i = 0; i < list.size(); i++) {
			Students stu = (Students) list.get(i);
			defaultModel
					.addRow(new Object[] { stu.getId(), stu.getSname(), stu.getSex(), stu.getAge(), stu.getSclass() });
		}
		scrollPane.setViewportView(table);
	}

	// 删除按钮的单击事件
	protected void do_deleteButton_actionPerformed(ActionEvent arg0) {
		int row = table.getSelectedRow();
		if (row == -1) { // 如果用户没有选择任何行,则进行提示
			JOptionPane.showMessageDialog(this, "请选择要删除的学生", "", JOptionPane.WARNING_MESSAGE);
			return;
		}

		if (row >= 0) {
			int n = JOptionPane.showConfirmDialog(getContentPane(), "确认删除吗?", "删除对话框",
					JOptionPane.YES_NO_CANCEL_OPTION);
			if (n == JOptionPane.YES_OPTION) { // 如果用户确认信息
				dao.deleteStu(Integer.parseInt(table.getValueAt(row, 0).toString()));
			}
			selecttable();
		}

	}

	// 关闭按钮的单击事件
	protected void do_button_1_actionPerformed(ActionEvent arg0) {
		int n = JOptionPane.showConfirmDialog(getContentPane(), "确认关闭吗?", "关闭对话框", JOptionPane.YES_NO_CANCEL_OPTION);
		if (n == JOptionPane.YES_OPTION) { // 如果用户确认信息
			System.exit(0);
		}
	}

	protected void addstu(ActionEvent arg0) {// 添加按钮的单击事件
		InsertStuFrame insert = new InsertStuFrame();
		insert.setVisible(true);
		selecttable();
	}

	// 修改按钮的单击事件
	protected void do_button_actionPerformed(ActionEvent e) {
		int row = table.getSelectedRow();
		if (row == -1) { // 如果用户没有选择任何行,则进行提示
			JOptionPane.showMessageDialog(this, "请选择要修改的学生", "", JOptionPane.WARNING_MESSAGE);
			return;
		}
		UpDateNumber up = new UpDateNumber();
		up.setNumber(Integer.parseInt(table.getValueAt(row, 0).toString()));
		UpdateStuFrame uf = new UpdateStuFrame();
		uf.setVisible(true);
		selecttable();
	}
}

InsertStuFrame.java:

package cn.frame.www;


import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

import cn.dao.www.StuDao;
import cn.model.www.Students;

public class InsertStuFrame extends JDialog {
    
    private JPanel contentPane;
    private JTextField sname;
    private JTextField age;
    private JTextField sclass;
    private JComboBox sexComboBox;
    
    JCheckBox checkBox, checkBox_1, checkBox_2, checkBox_3;
	private JTextField userNameTextField;
	private JCheckBox checkBox_4;
	private JCheckBox checkBox_5;
	StringBuffer buff = new StringBuffer();
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    InsertStuFrame frame = new InsertStuFrame();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
    
    /**
     * Create the frame.
     */
    public InsertStuFrame() {
    	setModal(true);
		setResizable(false);
		setModalExclusionType(ModalExclusionType.TOOLKIT_EXCLUDE);
        setBounds(100, 100, 331, 363);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
        setTitle("添加学生信息");
        JPanel panel = new JPanel();
        panel.setBounds(0, 0, 324, 338);
        contentPane.add(panel);
        panel.setLayout(null);
        
        JLabel nameLabel = new JLabel("姓名:");
        nameLabel.setBounds(29, 24, 45, 15);
        panel.add(nameLabel);
        
        sname = new JTextField();
        sname.setBounds(84, 21, 194, 21);
        panel.add(sname);
        sname.setColumns(10);
        
        JLabel sexLabel = new JLabel("性别:");
        sexLabel.setBounds(29, 58, 45, 15);
        panel.add(sexLabel);
        
        age = new JTextField();
        age.setBounds(214, 52, 66, 21);
        panel.add(age);
        age.setColumns(10);
        
        String[] sex = new String[] { "男", "女" };
        sexComboBox = new JComboBox(sex);
        sexComboBox.setBounds(84, 52, 55, 21);
        panel.add(sexComboBox);
        
        JLabel ageLabel = new JLabel("年龄:");
        ageLabel.setBounds(159, 58, 45, 15);
        panel.add(ageLabel);
        
        JLabel deptLabel = new JLabel("\u73ED\u7EA7\uFF1A");
        deptLabel.setBounds(29, 198, 45, 15);
        panel.add(deptLabel);
        
        
        checkBox = new JCheckBox("旅游");						// 添加复选框
    	checkBox.setBounds(84, 106, 63, 23);
    	panel.add(checkBox);	
    	checkBox_1 = new JCheckBox("看书");					// 添加复选框
    	checkBox_1.setBounds(149, 106, 63, 23);
    	panel.add(checkBox_1);
    	checkBox_2 = new JCheckBox("上网");					// 添加复选框
    	checkBox_2.setBounds(84, 143, 63, 23);
    	panel.add(checkBox_2);
    	checkBox_3 = new JCheckBox("音乐");					// 添加复选框
    	checkBox_3.setBounds(214, 106, 103, 23);
    	panel.add(checkBox_3);
    	checkBox_4 = new JCheckBox("羽毛球");					// 添加复选框
    	checkBox_4.setBounds(149, 143, 66, 23);
    	panel.add(checkBox_4);
    	checkBox_5 = new JCheckBox("乒乓球");						// 添加复选框
    	checkBox_5.setBounds(214, 143, 74, 23);
    	panel.add(checkBox_5);

        
        sclass = new JTextField();
        sclass.setBounds(84, 195, 194, 21);
        panel.add(sclass);
        sclass.setColumns(10);
        
        JButton insertButton = new JButton("添加");
        insertButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                do_insertButton_actionPerformed(arg0);
            }
        });
        insertButton.setBounds(84, 281, 66, 23);
        panel.add(insertButton);
        
        JButton closeButton = new JButton("关闭");
        closeButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                do_closeButton_actionPerformed(arg0);
            }
        });
        closeButton.setBounds(159, 281, 66, 23);
        panel.add(closeButton);
        
        JLabel label = new JLabel("\u7231\u597D\uFF1A");
        label.setBounds(29, 110, 54, 15);
        panel.add(label);
    }
    
    // 关闭按钮的单击事件
    protected void do_closeButton_actionPerformed(ActionEvent arg0) {
    	this.setVisible(false);
    }
    
    // 添加按钮的单击事件
    protected void do_insertButton_actionPerformed(ActionEvent arg0) {
        StuDao dao = new StuDao();
        Students stu = new Students();
        if (checkBox.isSelected()) {
			buff.append(checkBox.getText() + "、");
		}
		if (checkBox_1.isSelected()) {
			buff.append(checkBox_1.getText() + "、");
		}
		if (checkBox_2.isSelected()) {
			buff.append(checkBox_2.getText() + "、");
		}
		if (checkBox_3.isSelected()) {
			buff.append(checkBox_3.getText() + "、");
		}
		if (checkBox_4.isSelected()) {
			buff.append(checkBox_4.getText() + "、");
		}
		if (checkBox_5.isSelected()) {
			buff.append(checkBox_5.getText() + "、");
		}
		String strLoves = buff.toString();
        stu.setSname(sname.getText());
        stu.setSex(sexComboBox.getSelectedItem().toString());
        stu.setAge(Integer.parseInt(age.getText()));
        stu.setSclass(sclass.getText());
        stu.setHobby(strLoves);
        if (!(sname.getText().equals(""))
                && (!sclass.getText().equals(""))
                && (!age.getText().equals(""))) {
            dao.addusers(stu);
            
            JOptionPane.showMessageDialog(getContentPane(), "数据添加成功!", "信息提示框",
                    JOptionPane.WARNING_MESSAGE);
        } else {
            JOptionPane.showMessageDialog(getContentPane(), "请将信息添加完整!",
                    "信息提示框", JOptionPane.WARNING_MESSAGE);
        }
    }
}

UpdateStuFrame.java:

package cn.frame.www;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

import cn.dao.www.StuDao;
import cn.model.www.Students;
import cn.model.www.UpDateNumber;

public class UpdateStuFrame extends JDialog {

	private JPanel contentPane;
	private JTextField sname;
	private JTextField age;
	private JTextField sclass;
	private JComboBox sexComboBox;

	JCheckBox checkBox, checkBox_1, checkBox_2, checkBox_3;
	private JTextField userNameTextField;
	private JCheckBox checkBox_4;
	private JCheckBox checkBox_5;
	StringBuffer buff = new StringBuffer();
	StuDao dao = new StuDao();
	int id=UpDateNumber.getN();
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					UpdateStuFrame frame = new UpdateStuFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public UpdateStuFrame() {
    	setModal(true);
		setResizable(false);
		setModalExclusionType(ModalExclusionType.TOOLKIT_EXCLUDE);
        setBounds(100, 100, 329, 380);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
        setTitle("添加学生信息");
        JPanel panel = new JPanel();
        panel.setBounds(0, 0, 325, 356);
        contentPane.add(panel);
        panel.setLayout(null);
        
        JLabel nameLabel = new JLabel("姓名:");
        nameLabel.setBounds(29, 64, 45, 15);
        panel.add(nameLabel);
        
        sname = new JTextField();
        sname.setBounds(84, 61, 194, 21);
        panel.add(sname);
        sname.setColumns(10);
        
        JLabel sexLabel = new JLabel("性别:");
        sexLabel.setBounds(29, 110, 45, 15);
        panel.add(sexLabel);
        
        age = new JTextField();
        age.setBounds(204, 107, 66, 21);
        panel.add(age);
        age.setColumns(10);
        
        String[] sex = new String[] { "男", "女" };
        sexComboBox = new JComboBox(sex);
        sexComboBox.setBounds(84, 107, 55, 21);
        panel.add(sexComboBox);
        
        JLabel ageLabel = new JLabel("年龄:");
        ageLabel.setBounds(149, 110, 45, 15);
        panel.add(ageLabel);
        
        JLabel deptLabel = new JLabel("\u73ED\u7EA7\uFF1A");
        deptLabel.setBounds(29, 241, 45, 15);
        panel.add(deptLabel);
        
        
        checkBox = new JCheckBox("旅游");						// 添加复选框
    	checkBox.setBounds(84, 155, 63, 23);
    	panel.add(checkBox);	
    	checkBox_1 = new JCheckBox("看书");					// 添加复选框
    	checkBox_1.setBounds(149, 155, 63, 23);
    	panel.add(checkBox_1);
    	checkBox_2 = new JCheckBox("上网");					// 添加复选框
    	checkBox_2.setBounds(84, 191, 63, 23);
    	panel.add(checkBox_2);
    	checkBox_3 = new JCheckBox("音乐");					// 添加复选框
    	checkBox_3.setBounds(214, 155, 103, 23);
    	panel.add(checkBox_3);
    	checkBox_4 = new JCheckBox("羽毛球");					// 添加复选框
    	checkBox_4.setBounds(149, 191, 66, 23);
    	panel.add(checkBox_4);
    	checkBox_5 = new JCheckBox("乒乓球");						// 添加复选框
    	checkBox_5.setBounds(214, 191, 74, 23);
    	panel.add(checkBox_5);

        
        sclass = new JTextField();
        sclass.setBounds(84, 238, 194, 21);
        panel.add(sclass);
        sclass.setColumns(10);
        
        JButton insertButton = new JButton("\u4FEE\u6539");
        insertButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                do_insertButton_actionPerformed(arg0);
            }
        });
        insertButton.setBounds(84, 306, 66, 23);
        panel.add(insertButton);
        
        JButton closeButton = new JButton("关闭");
        closeButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                do_closeButton_actionPerformed(arg0);
            }
        });
        closeButton.setBounds(160, 306, 66, 23);
        panel.add(closeButton);
        
        JLabel label = new JLabel("\u7231\u597D\uFF1A");
        label.setBounds(29, 159, 54, 15);
        panel.add(label);
        
        JLabel label_1 = new JLabel("\u5B66\u53F7\uFF1A");
        label_1.setBounds(29, 28, 45, 15);
        panel.add(label_1);
        
        JLabel stuid = new JLabel(UpDateNumber.getN()+"");
        stuid.setBounds(84, 28, 84, 15);
        panel.add(stuid);
        
        // 获得要修改的学生信息
    	
    	Students stu=dao.getOne(id);
    	sname.setText(stu.getSname());
    	age.setText(stu.getAge()+"");
    	sclass.setText(stu.getSclass());
    	String[] hy=stu.getHobby().split("、");
    	if(hy.length>0){
    		for(int i=0;i<hy.length;i++){			// 为爱好赋值
    			if(hy[i].equals("旅游")){
    				checkBox.setSelected(true);
    			}
    			if(hy[i].equals("看书")){
    				checkBox_1.setSelected(true);
    			}
    			if(hy[i].equals("上网")){
    				checkBox_2.setSelected(true);
    			}
    			if(hy[i].equals("音乐")){
    				checkBox_3.setSelected(true);
    			}
    			if(hy[i].equals("羽毛球")){
    				checkBox_4.setSelected(true);
    			}
    			if(hy[i].equals("乒乓球")){
    				checkBox_5.setSelected(true);
    			}
    		}
    	}
    	if("男".equals(stu.getSex())){				// 为性别赋值
    		sexComboBox.setSelectedIndex(0);
    	}else{
    		sexComboBox.setSelectedIndex(1);
    	}
    	
    }

	// 关闭按钮的单击事件
	protected void do_closeButton_actionPerformed(ActionEvent arg0) {
		this.setVisible(false);
	}

	// 添加按钮的单击事件
	protected void do_insertButton_actionPerformed(ActionEvent arg0) {
		StuDao dao = new StuDao();
		Students stu = new Students();

		if (checkBox.isSelected()) {
			buff.append(checkBox.getText() + "、");
		}
		if (checkBox_1.isSelected()) {
			buff.append(checkBox_1.getText() + "、");
		}
		if (checkBox_2.isSelected()) {
			buff.append(checkBox_2.getText() + "、");
		}
		if (checkBox_3.isSelected()) {
			buff.append(checkBox_3.getText() + "、");
		}
		if (checkBox_4.isSelected()) {
			buff.append(checkBox_4.getText() + "、");
		}
		if (checkBox_5.isSelected()) {
			buff.append(checkBox_5.getText() + "、");
		}
		String strLoves = buff.toString();

		stu.setSname(sname.getText());
		stu.setSex(sexComboBox.getSelectedItem().toString());
		stu.setAge(Integer.parseInt(age.getText()));
		stu.setSclass(sclass.getText());
		stu.setHobby(strLoves);
		if (!(sname.getText().equals("")) && (!sclass.getText().equals(""))
				&& (!age.getText().equals(""))) {
			dao.updateusers(stu,id);

			JOptionPane.showMessageDialog(getContentPane(), "数据修改成功!", "信息提示框",
					JOptionPane.WARNING_MESSAGE);
		} else {
			JOptionPane.showMessageDialog(getContentPane(), "请将信息添加完整!",
					"信息提示框", JOptionPane.WARNING_MESSAGE);
		}

	}
}

全部代码请访问:https://gitee.com/simons24/Java_study.git

图书资料管理课程设计(附源码和连接),程序员必看 信息查询业务(包括图书基本信息查询,读者基本信息查询,在这个查询界面,系统提供多种查询条件供用户选择)图书借出业务(读者根据需要查询图书信息,找到要借图书后,系统根据读者编号和图书编号调出相关信息,判断读者能否借此书)图书归还业务(系统根据图书实际归还日期以及应还日期判断是否超期)统计业务(包括图书借阅排名统计和罚款金额统计)系统管理(这部分包括修改管理员登录密码、图书类别设置、存放位置设置和读者类别设置等) 阅读详情

相关推荐

javaweb项目用JDBC操作mysql数据库-增删改查

文章目录一、数据表二、项目结构三、JDBC操作步骤四、代码5、运行结果 一、数据表 -- 创建数据库 create database book; use book; -- 创建图书信息表 create table bookinfo( book_id int primary key auto_increment, book_name varchar(20) not null, price floa...

龟的小号的博客 7713

javaweb 案例——增删改查

1.前端传来的参数为JSON格式时:服务端需要将其封装到一个实体类中,用@Requestbody2.若需要从后端返回多个实体数据,则返回一个封装了对象的集合3.若传来的id是在URL/数字,则depts/{id}

qq_52610988的博客 2571

36、Java——一个案例学会三层架构对数据表的增删改查

使用读取配置文件的形式连接数据库,利用三层架构对book表进行增删改查操作。增加了接口知识点的优化,便于方法名的统一命名。内涵数据库连接,JDBC,事务,结构和实现类等相关知识,适合这块知识点的初学者学习理解适用!

不迁怒,不贰过。小知识,大智慧。 9816

Java数据结构————顺序表(增删改查详细实现

对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)Java面试精选题、架构实战文档你的支持,我的动力;祝各位前程似锦,offer不断!

2401_84006757的博客 367

【基于Java的图书管理系统----课程设计详解(使用MySQL数据库)附全部源代码下载链接、数据流图、流程图等】

(完整代码+实训报告): 链接: https://pan.baidu.com/s/1kogzA1G_lOstSQP6yo-cSw 提取码: yugt    觉着有用就点个赞哦~   一,功能 管理员登录图书借阅信息管理图书信息管理管理员更改密码退出系统 二,工具 Eclipse Version: 2018-09 (4.9.0)MySQL Workbenc...

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1万+

32、Java——迷你图书管理器(对象+JDBC)

Java——迷你图书管理器(对象+JDBC)

不迁怒,不贰过。小知识,大智慧。 1070

java实现信息的增删改查功能的网页设计(1)

仅供参考,不可转载,如遇其他情况概不负责,后果自负,切记 本网页只有一个页面,包过信息的增、删、改、查功能,只有部分代码,仅供参考 因该项目比较大,所以仅提供了一个页面内的增删改查,用到的数据表有用户表、角色表、用户角色表三张表来实现。 在这里面只有前端的jsp与后端的Controller,没有service以及serviceImpl,可在java实现信息的增删改查功能的网页设计(2)里面查看。 整体页面的效果图演示 该页面是这个网页的连接的整体效果图,主要分为两个部分:1、左边的部门树,2、右边的信息查

I心暖存人T的博客 4488

图书管理系统【Servlet+HTML综合应用】

图书管理系统【Servlet+HTML综合应用】

不迁怒,不贰过。小知识,大智慧。 3214

Java-增删改查

User类:表示用户的数据模型,包含用户的基本信息和相关操作。UserList类:使用LinkedList来管理用户,支持按顺序添加、查找、更新和删除用户。UserMap类:使用HashMap来管理用户,通过ID快速访问用户,适合大量数据的读写场景。Main类:演示如何利用上述类进行用户的创建、查询、更新和删除操作。

2301_81543552的博客 2459

ADS 使用教程(一)Workspace, Library and Cell

简要介绍ADS的基本内容

Dirge19的博客 6613

如何用Megatron-LM搭建多卡集群?手把手教你配置分布式训练环境

本文提供了一份详细的Megatron-LM多卡集群搭建实战指南。从硬件兼容性检查、软件栈版本对齐,到分布式并行策略(数据并行、张量并行、流水线并行)的配置与多节点启动脚本编写,手把手教你配置稳定高效的分布式训练环境,并分享了关键的排错与性能调优经验。

yellow的专栏 414

java实现增删改查

1.使用自己的话表述MVC。 MVC(Mode View Controller 模型-视图-控制器) 用于设计创建web应用程序的模式: 模型: 用于判断接收的信息在数据库中是否存在记录 视图:可表示为可看见的内容 控制器:在模型和视图之间传递数据,用于控制用户的注册,登录等操作 2.掌握JDBC的基本操作。 对book表中的数据进行增删改查; book表:id int,bookName varc...

郁闷的陆蛋蛋 2039

Proteus 8.15仿真STM32F103C8,ADC采样总为0?别急着换芯片,先检查这3个配置

本文详细解析了在Proteus 8.15中仿真STM32F103C8时ADC采样值为0的常见原因及解决方法。从供电网络配置、时钟设置到ADC参数调整,提供了系统性的排查指南,帮助开发者快速定位问题,避免不必要的硬件更换。重点关注供电网络、时钟分频和ADC配置等关键环节。

weixin_30425949的博客 366

实验六 DAO 和 MVC 模式

一、实验目的 熟悉采用 DAO 模式实现对数据库的访问方法,利用 Servlet 实现 MVC 模式,并为后续 Hibernate 框架的学习打下基础。 二、实验学时 4 学时 三、实验环境 硬件环境:普通 PC 机 软件环境:Windows 操作系统、Eclipse/MyEclipse、Tomcat、Mysql 四、实验内容 在实验五实现的功能中增加数据库访问功能。 1、根据系统设计建立所需的数据库、数据表。 2、确定项目的 DAO 模型,开发相应类,在该类中实现增删改查的相应操 作。 3、编写公共的数

Zcastle的博客 1825

YOLOv8结合GhostNet实现轻量化目标检测:模型设计与性能评测

GhostNet系列的核心是**“幽灵特征图(Ghost Feature Map)”** 概念:通过简单的线性变换(如深度卷积)生成“幽灵特征”,这些特征与原始特征融合后,能以极低的计算成本带来丰富的语义信息。为了突出GhostNet系列的必要性,设计消融实验:分别测试“仅主卷积”“仅幽灵卷积”“GhostNet(主卷积+幽灵卷积)”三种方案的性能,用数据证明“幽灵特征”的不可替代性。简单来说,引入GhostNet系列的YOLOv8,既能体现你的技术深度,又能让毕设的“落地性”大幅提升。

m0_71589036的博客 116

【Autoware】Autoware.universe安装过程与问题记录

Autoware.universe安装过程与问题记录

DevFrank的博客 2740

Java、JavaWeb、数据库-图书管理系统

整合servlet类,设计一个图书管理系统完成总和练习

weixin_64574904的博客 1472

一步一步详解LSTM网络【从RNN到LSTM到GRU等,直至attention】

本文主要译至并加上了部分笔者的见解,对于全面理解LSTM有一定的帮助。

zik的博客 3078

JavaWEB07--book03---MVC 概念--删除修改图书

项目源码 文章目录MVC 概念1.图书模块1.1编写图书模块的数据表1.2编写图书模块的javaBean1.3、 编写图书模块的 Dao 和测试 DaoDao 接口BookDaoImpl 实现类:BookDao 的测试:1.4、 编写图书模块的 Service 和测试 ServiceBookService 接口BookServiceImpl 实现类:BookService 的测试:1.5、 编写图书模块的 Web 层, 和页面联调测试1.5.1、 图书列表功能的实现1.5.2、 前后台的简单介绍1.5.3.

qq_44236958的博客 768

TC8工作原理

OPEN组织由全世界主要整车厂和供应商组成,旨在推广以太网技术在车辆中的应用。OPEN下属多个技术委员会(Tech Committee,简称TC),对不同方面的技术细节进行量化定义,并发布相应规范。其中TC8规范包括车载以太网ECU从物理层到应用层的各层互操作性以及常规基础功能服务,目的在于提高不同ECU之间的兼容性 UpperTester UpperTester作为Tester与DUT的被测核心功能模块之间的中介,辅助完成测试。UpperTester的主要功能包括: 与Tester就测试模式切换/请.

jasonj333 5326

OpenClaw Windows 安装指南

好的,我来一步一步带你在 Windows 上安装 OpenClaw。

m0_60605453的博客 550

适合小白的(图书管理系统)

项目源码网址:https://download.csdn.net/download/MengXiang123456789/12625310 一,功能 管理员登录 图书借阅信息管理 图书信息管理 管理员更改密码 退出系统二,工具 Eclipse Version: 2018-09 (4.9.0) MySQL Workbench 8.0 CE mysql-connector-java-8.0.13.jar三、效果图: 登录界面: 主界面: 借阅书籍管理: 个人书库管理: 更改密码: .

小靳哥@的博客 955

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

项目01——图书进、销、存(jxc)系统(单机版)

首先,在此我想感谢 私塾在线 的 wb 老师! 图书的(jxc)系统是我一边看wb老师的在线视频课,一边跟着做出来的项目。本博客是我的一点小小心得。Ⅰ 内容和目标简介 本系统主要包含用户、图书、进货、销售和库存五个模块,界面采用Swing,后台采用MVC模式,主要实现功能如下: (1)能进行操作用户的注册、登录、删除、查询和信息修改。 (2)能实现对图书基本信息的增删改查 (3)能填写进

胡倩萌的博客 1544

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JDBC-DAO实现增删改查

mysql建立Person表 列名 类型 描述 id int 主键,自增1 name varchar(20) 非空 age int 非空 bornDate Date 无 email varchar(20) 无 address varchar(20) 无 dbutil工具类 连接数据库,关闭连接 package person; import java.io.IOException; import java.io.InputStream; import java.sq

whatname123的博客 1064

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Android -- Room简化数据库设置图书案例

Room简化数据框架

十二间记,知不足而奋斗,望远山而前行。千里不辞行路远,时光早晚到天涯。 568
上一篇: 用JDBC连接SQL Server2017数据库
下一篇: 图解排序算法之堆排序
解忧杂货店员
博客等级 码龄9年 78粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值