项目四 Java开发学生信息管理系统

项目四 Java开发学生信息管理系统,第1张

项目四 Java开发学生信息管理系统

1、 项目概述

1.1 项目主要内容

   Java Swing开发简单的学生信息管理系统,实现增加,删除,修改,查询的 *** 作。

1.2 项目需求分析

1.开发简单的学生信息管理系统。

2.能实现对学生信息的增加,删除,查询,修改功能。

2、 项目设计

2.1 项目目标

根据上面的需求分析,学生成绩管理系统要达到的目标:

(1)存储学生的基本信息。

(2)增加修改和删除学生信息,

(3)查询想要的学生信息。

2.2 构建开发环境

【1】系统开发平台:IDEA Java开发环境,MySql。

【2】系统开发语言:Java编程语言,sql语言。

【3】运行平台:IDEA

2.3 系统功能结构

【1】 增加功能

 try {

            conn = DBUtil.getConn();

            if (conn==null){

                return false;

            }

            ps = conn.prepareStatement(sql);

            ps.setString(1, adminDo.getUserName());

            resultSet = ps.executeQuery();

            while (resultSet.next()) {

                String pwd = resultSet.getString(1);

                if (adminDo.getPwd().equals(pwd)) {

                    return true;

                }

【2】 查找功能

try {

            conn=DBUtil.getConn();

            ps=conn.prepareStatement(sql.toString());

            rs=ps.executeQuery();

            //查询记录

            returnDTO.setData(extracted(rs));



            sql.setLength(0);

            sql.append("select count(*) from student");

            if(request.getSearchKey()!=null&&!"".equals(request.getSearchKey().trim())) {

                sql.append("where name like '% "+request.getSearchKey().trim()+"%'");

            }

2.4 系统业务流程图

 

3.公共类设计

  1. public class MainView extends Jframe//主界面的显示
  2. public class LoginView extends Jframe //登录界面
  3. public class LoginHandler extends KeyAdapter implements ActionListener //加入监听
  4. public class AdminDo//添加用户信息
  5. public class MainViewCellRender extends DefaultTableCellRenderer

//在每一行的每一列显示之前都会调用,隔行换色,居中

  1. public class MainViewTable extends JTable//表格的设置,包括渲染方式
  2. public class MainViewTableModel extends DefaultTableModel //学生属性的类
  3. public class StudentServiceImpl implements StudentService //处理学生记录
  4. public class JtableDemo extends Jframe //加入学生信息
  5. public class StudentRequest//写入或返回学生信息

4、详细设计

4.1 登录页面的设计

【1】 设计登录页面

【2】 代码实现:

 public class LoginView extends Jframe {

    JLabel nameLabel=new JLabel("学生信息管理系统",JLabel.CENTER);

    SpringLayout springLayout=new SpringLayout();

    JPanel centerPanel=new JPanel(springLayout);

    JLabel userNameLabel=new JLabel("用户名:");

    JTextField userTxt=new JTextField();

    JLabel pwdLabel=new JLabel("密码:");

    JPasswordField pwdField=new JPasswordField();

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

    JButton resetBtn=new JButton("重置");

    SystemTray systemTray;

    TrayIcon trayIcon;

    LoginHandler loginHandler;

    public LoginView(){

        super("学生管理系统");

 

4.2 学生信息项目:

【1】学生的包含属性

【2】代码实现:

public class MainViewTableModel extends DefaultTableModel {

    static Vector columns=new Vector<>();

    static {

        columns.addElement("学号");

        columns.addElement("姓名");

        columns.addElement("学院");

        columns.addElement("专业");

        columns.addElement("班级");

    }

    private MainViewTableModel(){

        super(null,columns);

}

 4.3 获取数据库链接:

【1】连接到数据库

【2】代码实现:

public static Connection getConn(){

        try {

           return DriverManager.getConnection(URL,USER_NAME,PWD);

        } catch (SQLException e) {

            e.printStackTrace();

        }

        return null;

    }

    //获取数据库连接

    public static void closeConn(Connection connection){

        if (connection!=null) {

            try {

                connection.close();

            } catch (SQLException e) {

                e.printStackTrace();

            }

        }

}

4.4 设置表格列的渲染方式

【1】表格列之间深浅色交换

【2】代码实现:

public void renderRule(){

           Vector columns= MainViewTableModel.getColumns();

           MainViewCellRender render=new MainViewCellRender();

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

               TableColumn column =getColumn(columns.get(i));

               column.setCellRenderer(render);

               if (i==0){

                   column.setPreferredWidth(50);

                   column.setMaxWidth(50);

                   column.setResizable(false);

               }

           } 

4.5 确认用户存在:

【1】用户存在才能允许登录

【2】代码实现:

private void extracted() {

        String user= loginView.getUserTxt().getText();

        char[] chars=loginView.getPwdField().getPassword();

        if (user==null||"".equals(user.trim())||chars==null){

            JOptionPane.showMessageDialog(loginView,"用户名密码必填");

            return;

        }

        String pwd=new String(chars);

        System.out.println(user+":"+pwd);

        //查询db,当数据库里也有相应的用户名和密码时才能登陆

5.运行结果:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5683802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存