基于java的图书借阅管理系统,JAVA实现简单的图书管理系统

  基于java的图书借阅管理系统,JAVA实现简单的图书管理系统

  简单学习了Java的基础知识后,我做了一个非常简单的图书馆借阅系统。作为对所学知识的综合运用,希望大家点评不足,积极改正。

  00-1010开始登录界面

  登录界面

  注册界面

  登录后的个人主页

  (本来想在最上面插个图,但是刚学swing,看不懂怎么插图。时间久了,还是没看懂,就暂时放下了。)

  图书借阅页

  输入关键字后的搜索结果

  在还书界面,点击自动显示未还的图书。

  查询未还图书的具体信息。

  00-1010 1).下面简单说说对数据库的操作。注册用户时,在person_information表中插入个人信息。在注册的同时,为专属个人创建一个账户密码_编号_图书_信息表,记录未还图书。还有账户password _ ready _ book _ information表,记录还书的信息记录。借书时将图书的信息插入账户password _no_book_information表,还书时将还书的信息插入账户password _ ready _ book _ information表,删除账户password _no_book_information表中对应的借阅记录。

  2).先做一个类初始化和数据库的连接,需要的时候方便调用。(涉及到数据库只是简单的增删查改。我只是个初学者,就不多解释了。)

  包装书籍系统;导入Java . SQL . connection;导入Java . SQL . driver manager;导入Java . SQL . SQL exception;/* *用于初始化连接数据库*/公共类JDBC连接{公共静态连接getconnection()抛出sqlexception { try { class . forname( com . MySQL . JDBC . driver );} catch(ClassNotFoundException e){ e . printstacktrace();system . exit(0);} return driver manager . getconnection( JDBC : my SQL ://127 . 0 . 0 . 1:3306/book _ system?characterEncoding=UTF-8 , root , 123456789 );} }登录界面

  主要观点:

  登录时,在数据库中搜索该帐户是否存在。如果存在,进入首页。如果它不存在,将会提示您一个错误。注册时,将新用户的信息插入到数据库的用户列表中。

  包装书籍系统;导入javax . swing . *;导入Java . SQL . resultset;导入Java . SQL . SQL exception;导入Java . SQL . statement;导入Java . awt . *;导入Java . awt . event . action event;导入Java . awt . event . action listener;/* *库登录界面的设计*包括登录和注册两部分* */@ suppresswarnings (serial )公共类jiemian扩展jframe//general page { public Jie mian(){ super();JLabel label=new JLabel(欢迎使用图书馆借阅系统);Label.setFont(新字体( ,0,25));label.setBounds(100,50,300,150);JButton button=new JButton( log in );button.addActionListener(新操作列表

  tener()                {                    @Override                    public void actionPerformed(ActionEvent e)                     {                        new dengLu();                                            }                                        });                JButton button1=new JButton("注册");        button1.addActionListener(new ActionListener()                {                    @Override                    public void actionPerformed(ActionEvent e)                     {                        new zhuCe();                                            }                                        });                Box box=Box.createVerticalBox();        box.add(button);        box.add(Box.createVerticalStrut(50));        box.add(button1);        box.setBounds(200,250,100,150);                        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);        setSize(500,500);        setResizable(false);        setLocation(700,200);        setVisible(true);        setLayout(null);        add(label);        add(box);            }        //注册页面        class zhuCe extends JFrame implements ActionListener    {        private JTextField zhangHao2;        private JPasswordField password2;                public zhuCe()        {            super();                        Box box=Box.createHorizontalBox();            zhangHao2=new JTextField(15);            box.add(new JLabel("账号:"));            box.add(Box.createHorizontalStrut(10));            box.add(zhangHao2);                        Box box1=Box.createHorizontalBox();            password2=new JPasswordField(15);            box1.add(new JLabel("密码:"));            box1.add(Box.createHorizontalStrut(10));            box1.add(password2);                                     JButton button=new JButton("确认");            button.addActionListener(this);                        JButton button1=new JButton("重置");            button1.addActionListener(this);                        Box box2=Box.createHorizontalBox();            box2.add(Box.createHorizontalStrut(30));            box2.add(button);            box2.add(Box.createHorizontalStrut(70));            box2.add(button1);                        Box box3=Box.createVerticalBox();            box3.add(box);            box3.add(Box.createVerticalStrut(10));            box3.add(box1);            box3.add(Box.createVerticalStrut(10));            box3.add(box2);            box3.setBounds(100,50,250,100);                        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);            setSize(500,250);            setLayout(null);            setVisible(true);            setLocation(700,300);            add(box3);                                }        //事件处理        @Override        public void actionPerformed(ActionEvent e)          {            String ret=e.getActionCommand();                        if(ret.equals("确认"))            {                //需要插入一个检验数据合理性并更新数据库的操作                String insertzh=zhangHao2.getText();                String insertpw=new String(password2.getPassword());                insert(insertzh,insertpw);                                           //点击确认后插入数据自动关闭                this.dispose();                            }            else            {                zhangHao2.setText("");                password2.setText("");            }        }                        //处理注册账号密码并插入数据库        //这里只是简单地将账号密码插入数据库,没有考虑若账号不能与之前的用户相同还有不能用空格注册。        //处理空格的方法:提取原始账号密码,用trim()除去前后空格比较长度做第一轮筛选,再逐个字符进行比较        private void insert(String zh,String pw)        {            try(            Statement statement=jdbcConnection.getConnection().createStatement();            )            {                String sqlsentence="insert into person_information values("+zh+","+pw+",now());";                statement.execute(sqlsentence);                                String sqlsentence1="create table "+zh+pw+"_no_book_information(书名 varchar(20) not null,"       //建立一个个人的借书未还表                        + "借书时间  datetime not null,"                        + "借阅天数  int unsigned not null,"                        + "应还时间  datetime not null);";                statement.execute(sqlsentence1);                                //建立已还书籍记录                String sqlsentence2="create table "+zh+pw+"_already_book_information(书名 varchar(20) not null,"       //建立一个个人的借书未还表                        + "借书时间  datetime not null,"                        + "借阅天数  int unsigned not null,"                        + "应还时间  datetime not null,"                        + "归还时间   datetime  not null);";                  statement.execute(sqlsentence2);                            }            catch(SQLException e)            {                System.out.println("注册账号更新数据库时出错!");                e.printStackTrace();                System.exit(0);                            }        }           }        //登录界面        class dengLu extends JFrame implements ActionListener    {        private JTextField zhangHao1;        private JPasswordField password1;                public dengLu        ()        {            super();                        Box box=Box.createHorizontalBox();            zhangHao1=new JTextField(15);            box.add(new JLabel("账号:"));            box.add(Box.createHorizontalStrut(10));            box.add(zhangHao1);                        Box box1=Box.createHorizontalBox();            password1=new JPasswordField(15);            box1.add(new JLabel("密码:"));            box1.add(Box.createHorizontalStrut(10));            box1.add(password1);                                     JButton button=new JButton("确认");            button.addActionListener(this);                        Box box2=Box.createHorizontalBox();            box2.add(Box.createHorizontalStrut(30));            box2.add(button);            Box box3=Box.createVerticalBox();            box3.add(box);            box3.add(Box.createVerticalStrut(10));            box3.add(box1);            box3.add(Box.createVerticalStrut(10));            box3.add(box2);                        box3.setBounds(100,50,250,100);                        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);            setSize(500,250);            setLayout(null);            setVisible(true);            setLocation(700,300);            add(box3);                    }        @Override        public void actionPerformed(ActionEvent e)         {                            //需要插入一个检验数据合理性并更新数据库的操作            String select=zhangHao1.getText();            String select1=new String(password1.getPassword());      //注意getPassword方法返回的时char数组                        select(select,select1);     //处理事件                     }                        private void select(String zh1,String pw1)        {            try(            Statement statement1=jdbcConnection.getConnection().createStatement();            )            {                String sqlsentence1="select * from person_information where  账号="+zh1+";";                System.out.println(sqlsentence1);                ResultSet set=statement1.executeQuery(sqlsentence1);                                                if(!set.next())                {                    zhangHao1.setText("无此账号!");      //查询数据库发现无此账号记录                }                else                    if(set.getString("密码").equals(pw1))                {                    new zhuYe(zh1,pw1);  //这里应该新建一个账号主页                    this.dispose();    //若输入正确的账号密码,则次登录窗口消失,进入账号主页                                    }                    else                    {                                                zhangHao1.setText("密码错误!");                   //显示密码错误                    }                            }            catch(SQLException e)            {                System.out.println("注册账号更新数据库时出错!");                e.printStackTrace();                System.exit(0);                            }        }                                    }       &

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: