美文网首页
基于JDBC的Java控制台应用 - 学生信息管理系统

基于JDBC的Java控制台应用 - 学生信息管理系统

作者: 梦蓝樱飞2020 | 来源:发表于2017-11-30 21:44 被阅读742次

    帮同学写一个小程序, 通过JDBC连接MySQL数据库, 来操作相关数据表, 并记录和查询信息, 没有图形界面, 是基于控制台来操作的.


    xx管理系统.png

    项目结构图:


    项目结构图.png

    其中
    vo包里面的User类是一个JavaBean实体类
    view包提供无限循环的显示菜单
    util工具包, 包括数据类型的转换, 数据库驱动的连接, 封装好的键盘录入操作
    driver包: 包含main方法, 是程序的入口, 来启动项目
    dao(data access object)包: 定义操作数据库数据的接口和它的实现类

    相关代码:
    UserManager.java:

    package driver;
    
    import view.Menu;
    
    public class UserManager {
    
        public static void main(String[] args) {
            new Menu();
        }
    
    }
    
    

    Menu.java:

    package view;
    
    import util.InputData;
    import dao.IUserDAOImp;
    import vo.User;
    
    import java.util.List;
    
    public class Menu {
        IUserDAOImp iu = new IUserDAOImp();
        InputData input = new InputData();
    
        public Menu() {
            while (true) {
                this.show();
            }
        }
    
        public void show() {
            System.out.println("--------人员信息管理系统-------");
            System.out.println("1.增加人员");
            System.out.println("2.按编号删除人员");
            System.out.println("3.按编号修改人员信息");
            System.out.println("4.按编号查询人员信息");
            System.out.println("5.按关键字查询人员信息");
            System.out.println("0.退出");
    
            User user = null;
            int i = input.getInt("请选择:", "请输入正确的选项!");
            switch (i) {
                case 1:
                    int id = input.getInt("请输入人员编号:", "格式不对,请重新输入!");
                    String name = input.getString("请输入人员姓名:");
                    String sex = input.getString("请输入性别:");
                    java.util.Date birthday = input.getDate("请输入出生日期:", "格式不对,请重新输入!");
                    user = new User(id, name, sex, birthday);
                    if (iu.doInsert(user)) {
                        System.out.println("添加成功!");
                    } else {
                        System.out.println("添加失败!");
                    }
                    break;
                case 2:
                    int id2 = input.getInt("请输入人员编号:", "格式不对,请重新输入!");
                    try {
                        if (iu.doDelete(id2)) {
                            System.out.println("删除成功!");
                        } else {
                            System.out.println("删除失败!");
                        }
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    break;
                case 3:
                    int id3 = input.getInt("请输入人员编号:", "格式不对,请重新输入!");
                    String name3 = input.getString("请输入人员姓名:");
                    String sex3 = input.getString("请输入性别:");
                    java.util.Date birthday3 = input.getDate("请输入出生日期:", "格式不对,请重新输入!");
                    user = new User(id3, name3, sex3, birthday3);
                    try {
                        if (iu.doUpdate(id3, user)) {
                            System.out.println("修改成功!");
                        } else {
                            System.out.println("修改失败!");
                        }
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    break;
                case 4:
                    int id4 = input.getInt("请输入人员编号:", "格式不对,请重新输入!");
                    try {
                        user = iu.findById(id4);
                        System.out.println(user);
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    break;
                case 5:
                    String keyword5 = input.getString("请输入查询关键字");
                    try {
                        List<User> list = iu.findByKey(keyword5);
                        for (User u : list) {
                            System.out.println(u);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    break;
    
                case 0:
                    System.exit(1);
                    break;
                default:
                    System.out.println("请选择正确的操作!");
            }
        }
    }
    
    

    数据库操作:

    数据库操作png

    SQL语句:

    use `usermanage`;
    create table `user`(
        id int primary key,
        name varchar(25),
        sex varchar(5),
        birthday date
    );
    

    演示结果:


    演示.gif

    最后注意:
    该项目因为某些原因, 是GBK编码, 所以为了避免乱码, 需要设置项目的编码为GBK, Eclipse的设置同理. 同时, 里面包含.classpath和.project文件, 也可以直接通过Eclipse打开!


    GBK.png

    完整代码:
    https://github.com/menglanyingfei/Java/blob/master/CodeCollection/JavaSEProjects/JDBC/JDBC.zip

    @Author menglanyingfei
    @Created on 2017.11.30
    

    博客地址

    相关文章

      网友评论

          本文标题:基于JDBC的Java控制台应用 - 学生信息管理系统

          本文链接:https://www.haomeiwen.com/subject/fmybbxtx.html