基于Java Swing的学生管理系统
1、源码下载地址
Gitee: https://gitee.com/liu-yipin/stu-manager.
2、效果展示
3、部分代码实现
StuClassDao.java
package com.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.model.StuClass;
import com.util.StringUtil;
/**
* 学生班级Dao类
* @author ASUS
*
*/
public class StuClassDao {
/**
* 学生班级添加
* @param con
* @param bookType
* @return
* @throws Exception
*/
public int add(Connection con,StuClass stuClass)throws Exception{
String sql ="insert into t_stuclass values(null,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,stuClass.getStuClassName());
pstmt.setString(2,stuClass.getStuClassDesc());
return pstmt.executeUpdate();
}
/**
* 学生班级查询
* @param con
* @param stuClass
* @return
* @throws Exception
*/
public ResultSet list(Connection con,StuClass stuClass)throws Exception{
StringBuffer sb=new StringBuffer("select * from t_stuclass");
if(StringUtil.isNotEmpty(stuClass.getStuClassName())) {
sb.append(" and stuClassName like '%"+stuClass.getStuClassName()+"%'");
}
PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst("and", "where"));
return pstmt.executeQuery();
}
/**
* 删除学生班级
* @param con
* @param id
* @return
* @throws Exception
*/
public int delete(Connection con,String id)throws Exception{
String sql="delete from t_stuclass where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, id);
return pstmt.executeUpdate();
}
/**
* 更新学生班级
* @param con
* @param bookType
* @return
* @throws Exception
*/
public int update(Connection con,StuClass stuClass)throws Exception{
String sql="update t_stuclass set stuClassName=?,StuClassDesc=? where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, stuClass.getStuClassName());
pstmt.setString(2, stuClass.getStuClassDesc());
pstmt.setInt(3, stuClass.getId());
return pstmt.executeUpdate();
}
}
StudentDao.java
package com.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.model.Student;
import com.util.StringUtil;
/**
* 学生Dao类
* @author ASUS
*
*/
public class StudentDao {
/**
* 学生添加
* @param con
* @param student
* @return
* @throws Exception
*/
public int add(Connection con,Student student)throws Exception{
String sql="insert into t_student values(null,?,?,?,?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,student.getName());
pstmt.setString(2,student.getHome());
pstmt.setString(3,student.getSex());
pstmt.setFloat(4,student.getScore());
pstmt.setInt(5,student.getStuClassId());
pstmt.setString(6,student.getStuDesc());
return pstmt.executeUpdate();
}
/**
* 学生信息查询
* @param con
* @param book
* @return
* @throws Exception
*/
public ResultSet list(Connection con,Student stu)throws Exception{
StringBuffer sb=new StringBuffer("select * from t_student b,t_stuclass bt where b.stuClassId=bt.id");
if(StringUtil.isNotEmpty(stu.getName())) {
sb.append(" and b.name like '%"+stu.getName()+"%'");
}
if(StringUtil.isNotEmpty(stu.getHome())) {
sb.append(" and b.home like '%"+stu.getHome()+"%'");
}
if(stu.getStuClassId()!=null&&stu.getStuClassId()!=-1) {
sb.append(" and b.stuClassId ="+stu.getStuClassId());
}
PreparedStatement pstmt=con.prepareStatement(sb.toString());
return pstmt.executeQuery();
}
/**
* 学生信息删除
* @param con
* @param id
* @return
* @throws Exception
*/
public int delete(Connection con,String id)throws Exception{
String sql="delete from t_student where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,id);
return pstmt.executeUpdate();
}
/**
* 学生信息修改
* @param con
* @param stu
* @return
* @throws Exception
*/
public int update(Connection con,Student stu)throws Exception{
String sql="update t_student set name=?,home=?,sex=?,score=?,stuDesc=?,stuClassId=? where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,stu.getName());
pstmt.setString(2,stu.getHome());
pstmt.setString(3,stu.getSex());
pstmt.setFloat(4,stu.getScore());
pstmt.setString(5,stu.getStuDesc());
pstmt.setInt(6,stu.getStuClassId());
pstmt.setInt(7,stu.getId());
return pstmt.executeUpdate();
}
/**
* 指定学生班级下是否存在学生
* @param con
* @param stuClassId
* @return
* @throws Exception
*/
public boolean existBookByBookTypeId(Connection con,String stuClassId)throws Exception{
String sql="select * from t_student where stuClassId=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,stuClassId);
ResultSet rs=pstmt.executeQuery();
return rs.next();
}
}
UserDao.java
package com.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.model.User;
/**
* ûDao
* @author ASUS
*
*/
public class UserDao {
/**
* ¼֤
* @param con
* @param user
* @return
* @throws Exception
*/
public User login(Connection con,User user)throws Exception{
User resultUser=null;
String sql="select * from t_user where userName=? and password=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getPassword());
ResultSet rs=pstmt.executeQuery();
if(rs.next()) {
resultUser=new User();
resultUser.setId(rs.getInt("id"));
resultUser.setUserName(rs.getString("userName"));
resultUser.setPassword(rs.getString("password"));
}
return resultUser;
}
}
MainFrm.java
package com.view;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JMenuBar;
import javax.swing.JInternalFrame;
import javax.swing.JMenu;
import javax.swing.JPopupMenu;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JDesktopPane;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.Toolkit;
import javax.swing.LayoutStyle.ComponentPlacement;
public class MainFrm extends JFrame {
private JPanel contentPane;
private JDesktopPane table=null;
/**
* @wbp.nonvisual location=-261,584
*/
private final JInternalFrame internalFrame = new JInternalFrame("New JInternalFrame");
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainFrm frame = new MainFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainFrm() {
setIconImage(Toolkit.getDefaultToolkit().getImage(MainFrm.class.getResource("/icon/\u7EBF\u6027\u7537\u5B66\u751F.png")));
setFont(new Font("宋体", Font.BOLD, 25));
internalFrame.setVisible(true);
setTitle("\u5B66\u751F\u7BA1\u7406\u7CFB\u7EDF\u4E3B\u754C\u9762");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1761, 1048);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu mnNewMenu = new JMenu("\u57FA\u672C\u6570\u636E\u7EF4\u62A4");
mnNewMenu.setHorizontalAlignment(SwingConstants.CENTER);
mnNewMenu.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/Maintenance_16px_1190918_easyicon.net.png")));
menuBar.add(mnNewMenu);
JMenu menu = new JMenu("\u5B66\u751F\u73ED\u7EA7\u7BA1\u7406");
menu.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/edit\u7F16\u8F91.png")));
mnNewMenu.add(menu);
JMenuItem menuItem = new JMenuItem("\u5B66\u751F\u73ED\u7EA7\u6DFB\u52A0");
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
StuClassAddInterFrm bookTypeAddInterFrm=new StuClassAddInterFrm();
bookTypeAddInterFrm.setVisible(true);
table.add(bookTypeAddInterFrm);
}
});
menuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/add_folder_16.681757656458px_1232041_easyicon.net.png")));
menu.add(menuItem);
JMenuItem menuItem_1 = new JMenuItem("\u5B66\u751F\u73ED\u7EA7\u7EF4\u62A4");
menuItem_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
StuClassManageInterFrm bookTypeManageInterFrm=new StuClassManageInterFrm();
bookTypeManageInterFrm.setVisible(true);
table.add(bookTypeManageInterFrm);
}
});
menuItem_1.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/\u7EBF\u6027\u94C5\u7B14.png")));
menu.add(menuItem_1);
JMenu mnNewMenu_2 = new JMenu("\u5B66\u751F\u7BA1\u7406");
mnNewMenu_2.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/edit\u7F16\u8F91.png")));
mnNewMenu.add(mnNewMenu_2);
JMenuItem menuItem_2 = new JMenuItem("\u5B66\u751F\u6DFB\u52A0");
menuItem_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
StudentAddInterFrm bookAddInterFrm=new StudentAddInterFrm();
bookAddInterFrm.setVisible(true);
table.add(bookAddInterFrm);
}
});
menuItem_2.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/plus\u6DFB\u52A0.png")));
mnNewMenu_2.add(menuItem_2);
JMenuItem menuItem_3 = new JMenuItem("\u5B66\u751F\u7EF4\u62A4");
menuItem_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
StudentManageInterFrm bookManageInterFrm=new StudentManageInterFrm();
bookManageInterFrm.setVisible(true);
table.add(bookManageInterFrm);
}
});
menuItem_3.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/\u7EBF\u6027\u94C5\u7B14.png")));
mnNewMenu_2.add(menuItem_3);
JMenuItem menuItem_4 = new JMenuItem("\u5B89\u5168\u9000\u51FA");
menuItem_4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int result=JOptionPane.showConfirmDialog(null, "是否退出系统");
if(result==0) {
dispose();
}
}
});
menuItem_4.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/\u767B\u5F55-\u8F93\u5165\u6E05\u7A7A.png")));
mnNewMenu.add(menuItem_4);
JMenu mnNewMenu_1 = new JMenu("\u5173\u4E8E\u6211\u4EEC");
mnNewMenu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/\u9996\u98755.png")));
menuBar.add(mnNewMenu_1);
JMenuItem mntmjava = new JMenuItem("\u5173\u4E8E\u4F5C\u8005");
mntmjava.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JavaFrm java1234InterFrm=new JavaFrm();
java1234InterFrm.setVisible(true);
table.add(java1234InterFrm);
}
});
mntmjava.setIcon(new ImageIcon(MainFrm.class.getResource("/icon/collaborator_32px_1170216_easyicon.net.png")));
mnNewMenu_1.add(mntmjava);
contentPane = new JPanel();
contentPane.setBackground(Color.WHITE);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
table = new JDesktopPane();
table.setBackground(Color.WHITE);
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addContainerGap()
.addComponent(table, GroupLayout.PREFERRED_SIZE, 1728, GroupLayout.PREFERRED_SIZE)
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(table, GroupLayout.PREFERRED_SIZE, 970, GroupLayout.PREFERRED_SIZE)
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
contentPane.setLayout(gl_contentPane);
contentPane.add(table,BorderLayout.CENTER);
JLabel lblL = new JLabel("l");
lblL.setIcon(new ImageIcon(MainFrm.class.getResource("/photo/046.jpg")));
JLabel label = new JLabel("");
label.setIcon(new ImageIcon(MainFrm.class.getResource("/photo/120.jpg")));
GroupLayout gl_table = new GroupLayout(table);
gl_table.setHorizontalGroup(
gl_table.createParallelGroup(Alignment.TRAILING)
.addGroup(Alignment.LEADING, gl_table.createSequentialGroup()
.addContainerGap()
.addComponent(label)
.addPreferredGap(ComponentPlacement.RELATED, 501, Short.MAX_VALUE)
.addComponent(lblL, GroupLayout.PREFERRED_SIZE, 589, GroupLayout.PREFERRED_SIZE)
.addGap(32))
);
gl_table.setVerticalGroup(
gl_table.createParallelGroup(Alignment.LEADING)
.addGroup(gl_table.createSequentialGroup()
.addContainerGap(404, Short.MAX_VALUE)
.addGroup(gl_table.createParallelGroup(Alignment.LEADING)
.addGroup(Alignment.TRAILING, gl_table.createSequentialGroup()
.addComponent(label)
.addGap(54))
.addGroup(Alignment.TRAILING, gl_table.createSequentialGroup()
.addComponent(lblL, GroupLayout.PREFERRED_SIZE, 435, GroupLayout.PREFERRED_SIZE)
.addGap(67))))
);
table.setLayout(gl_table);
//设置最大化
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
private static void addPopup(Component component, final JPopupMenu popup) {
component.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) {
showMenu(e);
}
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
showMenu(e);
}
}
private void showMenu(MouseEvent e) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
});
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123014.html