图书管理系统java代码

上传人:沈*** 文档编号:106948277 上传时间:2022-06-14 格式:DOC 页数:43 大小:492.08KB
返回 下载 相关 举报
图书管理系统java代码_第1页
第1页 / 共43页
图书管理系统java代码_第2页
第2页 / 共43页
图书管理系统java代码_第3页
第3页 / 共43页
点击查看更多>>
资源描述
登录/注册(RLogin,userbean)修改个人信息(personInfo,personBean)查看我借的书(mybook,lookMybook)增加图书(bookAdd,bookbean)修改图书信息(bookEdit,bookbean)删除图书(bookDel,bookbean)添加成员(memberAdd,memberBean)删除成员(memberDelete,memberBean)图书借阅(bookLend,bookbean)图书归还(bookReturn,bookbean)图书查询(booksearch,bookbean)组员分工:刘会敏:图书管理(增,删,查询,修改图书信息)方法 及部分页面, 链接数据库(DatabaseConn2) 宁俊明:主界面(bookMain),登录注册界面面板(RLogin), 修改个人信息,添加、删除成员方法王盛开:登录注册方法(userbean),查看我借的书页面,添加删除成员页面,添加删除图书页面图书中心退出 系统操作 主面板bookMain个人信息管理管理图书及成员(当用户类型为管理员时显示此组件)项目下的包及类:数据库bookcollection表book(bookID设置为自增)表user表userbook管理图书及成员图书中心退出系统操作个人中心主页面:8删除成员7添加成员设置变量:username,sex,password,userID,userType,department,major向user表插入数据所在院系专业学号密码我是:本科生 研究生 教师6修改图书信息5删除图书4增加图书9.修改个人资料只向管理员显示,判断用户是否为管理员(session)1.查询图书2.借书3.还书姓名:1,2,3,4,5,6对book表进行操作;9 对user表进行操作;10对userbook表进行操作;效果均为点击后出现新的页面验证用户名,密码(from user)注册姓名登录密码:注册:登录:登录/注册:(注册后直接登录,跳转到主页面)10.我所借的书登录注册页面:package bookDB;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class RLogin extends JFrame implements ActionListener/Container c; String sex;int type;/ 创建登录组件 JLabel jlabel0 = new JLabel(登录:);JLabel jLabel1 = new JLabel(学号(或职工号):); JLabel jLabel2 = new JLabel(密码:);JTextField userID1 = new JTextField(10); JTextField password1 = new JTextField(10);JButton btn_ok1 = new JButton(); / 创建登录确定按钮/ 创建注册组件 JLabel jlabel00 = new JLabel(注册:);JLabel jLabel3 = new JLabel(姓名:); JLabel jLabel4 = new JLabel(性别:); JLabel jLabel5 = new JLabel(密码:); JLabel jLabel6 = new JLabel(学号(或职工号):); JLabel jLabel7 = new JLabel(院系:); JLabel jLabel8 = new JLabel(专业:);JLabel jLabel9 = new JLabel(用户类别:);JTextField name = new JTextField(10);JTextField password2 = new JTextField(10);JTextField ID2 = new JTextField(10);JTextField department = new JTextField(10);JTextField major = new JTextField(10);JRadioButton rb1; / 单选按钮,用于设定性别JRadioButton rb2;/用户类型选择JButton btn_ok2 = new JButton(); / 创建注册确定按钮/ 构造函数public RLogin() super(登录/注册:); / 调用 JFrame的构造函数String sex = 男, 女 ;String type = 本科生, 研究生, 老师;JPanel panel1 = new JPanel(new FlowLayout();/ 使用JPanel类创建面板,该类是JComponent类的子类,后者又扩展Container/每个JPanel都是一个Container,因此,可以向JPanel添加包括面板在内的组件/this.setBackground(Color.YELLOW);this.add(panel1);this.add(panel1, BorderLayout.NORTH); / JFrame类的默认布局管理器为BorderLayout,此处将panel1设置在面板的北侧。/ 在panel1面板上添加标签panel1.add(jlabel0);panel1.add(jLabel1);panel1.add(userID1);panel1.add(jLabel2);panel1.add(password1);btn_ok1 = new JButton(确定);btn_ok1.addActionListener(this);panel1.add(btn_ok1);JPanel panel2 = new JPanel(new FlowLayout();this.add(panel2);this.add(panel2, BorderLayout.CENTER); / JFrame类的默认布局管理器为BorderLayout,此处将panel2设置在面板的南侧。/ 在panel2面板上添加组件panel2.add(jlabel00);panel2.add(jLabel3);panel2.add(name);panel2.add(jLabel4);/创建ButtonGroup的对象,用于维护单选按钮的逻辑关系ButtonGroup bg1 = new ButtonGroup();rb1 = new JRadioButtonsex.length;/ 单选按钮for (int i = 0; i 2; i+) / rb1i = new JRadioButton(sexi);bg1.add(rb1i);/ 管理单选按钮panel2.add(rb1i); / 将单选按钮添加到面panel2.add(jLabel5);panel2.add(password2);panel2.add(jLabel6);panel2.add(ID2);panel2.add(jLabel7);panel2.add(department);panel2.add(jLabel8);panel2.add(major);panel2.add(jLabel9);/创建ButtonGroup的对象,用于维护单选按钮的逻辑关系ButtonGroup bg2 = new ButtonGroup();rb2 = new JRadioButtontype.length;/ 单选按钮for (int j = 0; j 3; j+) / rb2j = new JRadioButton(typej);bg2.add(rb2j);/ 管理单选按钮,只能选一个panel2.add(rb2j); / 将单选按钮添加到面btn_ok2 = new JButton(确定);btn_ok2.addActionListener(this);panel2.add(btn_ok2);public static void main(String args) RLogin app = new RLogin();app.setSize(600, 200); / 设置窗口大小app.setVisible(true); / 设置窗口可见app.setDefaultCloseOperation(EXIT_ON_CLOSE); / end main methodOverridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stub/String sex, type;/ 用户点击登录确定按钮if (e.getSource() = btn_ok1) userbean rs = new userbean(); /System.out.println(userID1.getText() + password1.getText();rs.login(userID1.getText(), password1.getText(); this.dispose();/ 用户点击注册确定按钮if (e.getSource() = btn_ok2) / 获取用户选择的性别并存入sex中for (int m = 0; m rb1.length; m+)if (rb1m.isSelected()sex = rb1m.getText();/ 获取用户选择的类别并存入type中for (int n = 0; n rb2.length; n+)if (rb2n.isSelected()type = n+1;userbean rs = new userbean(); rs.register (name.getText(), sex, password2.getText(), ID2.getText(), department.getText(),major.getText(), type); this.dispose(); / end actionPrform method / end systemLogin method登录注册方法:package bookDB;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JOptionPane;public class userbean boolean boolLogin=false;/用户登录之后为true,没登录状态下为falseString sql;String userID;static String loginID;/ 定义登录后的IDstatic int usertype;String username;String password;String sex;String department;String major;int userType;int canBorrow;ResultSet rs = null;/*注册*public void register(String username,String sex,String password,String userID,String department,String major,int type)DatabaseConn2 DB = new DatabaseConn2(); this.username = username;this.userID = userID;this.sex = sex;this.department = department;this.major = major;/添加图书时,剩余馆藏量=馆藏量if(username.equals()|userID.equals()|sex.equals()|department.equals()|major.equals() /提示完善图书信息JOptionPane.showMessageDialog(null,请完善信息,错误,JOptionPane.ERROR_MESSAGE); return; else/int type = Integer.parseInt(userType);/转换用户类型为int型sql = insert into user(userName,sex,password,userID,department,major,userType)+ values(+username+,+sex+,+password+,+userID+,+department+,+major+,+type+); try DB.executeUpdate(sql); /更新语句 JOptionPane.showMessageDialog(null,注册成功!您可返回登录); /提示添加成功/ bookMain main =new bookMain(); RLogin login = new RLogin(); login.pack(); login.setVisible(true); catch (Exception e) System.out.println(e); JOptionPane.showMessageDialog(null,保存失败!,错误,JOptionPane.ERROR_MESSAGE); finally DB.close(); /*登录*public void login(String userId, String password1)DatabaseConn2 DB = new DatabaseConn2();this.userID = userId;this.password = password1;if(userID.equals() | password.equals()JOptionPane.showMessageDialog(null,请填写完整登录信息!,错误,JOptionPane.ERROR_MESSAGE); return; elsesql = select * from user where userID = + userID +;rs = DB.executeQuery(sql);try if(rs.next()System.out.println(rs.getString(password);if(rs.getString(password).equals(password) )JOptionPane.showMessageDialog(null,登录成功!);bookMain main = new bookMain();/登录成功后显示登录页面main.pack(); main.setVisible(true);/HttpSession session = request.getSession(true);/session.removeAttribute(logid);/session.setAttribute(logid,userID);loginID = userID;/获取登录后的用户ID/获取用户类型usertype =Integer.parseInt(rs.getString(userType);System.out.println(usertype+t+rs.getString(userType);elseSystem.out.println(你好); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();主页面:package bookDB;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class RLogin extends JFrame implements ActionListener/Container c; String sex;int type;/ 创建登录组件 JLabel jlabel0 = new JLabel(登录:);JLabel jLabel1 = new JLabel(学号(或职工号):); JLabel jLabel2 = new JLabel(密码:);JTextField userID1 = new JTextField(10); JTextField password1 = new JTextField(10);JButton btn_ok1 = new JButton(); / 创建登录确定按钮/ 创建注册组件 JLabel jlabel00 = new JLabel(注册:);JLabel jLabel3 = new JLabel(姓名:); JLabel jLabel4 = new JLabel(性别:); JLabel jLabel5 = new JLabel(密码:); JLabel jLabel6 = new JLabel(学号(或职工号):); JLabel jLabel7 = new JLabel(院系:); JLabel jLabel8 = new JLabel(专业:);JLabel jLabel9 = new JLabel(用户类别:);JTextField name = new JTextField(10);JTextField password2 = new JTextField(10);JTextField ID2 = new JTextField(10);JTextField department = new JTextField(10);JTextField major = new JTextField(10);JRadioButton rb1; / 单选按钮,用于设定性别JRadioButton rb2;/用户类型选择JButton btn_ok2 = new JButton(); / 创建注册确定按钮/ 构造函数public RLogin() super(登录/注册:); / 调用 JFrame的构造函数String sex = 男, 女 ;String type = 本科生, 研究生, 老师;JPanel panel1 = new JPanel(new FlowLayout();/ 使用JPanel类创建面板,该类是JComponent类的子类,后者又扩展Container/每个JPanel都是一个Container,因此,可以向JPanel添加包括面板在内的组件/this.setBackground(Color.YELLOW);this.add(panel1);this.add(panel1, BorderLayout.NORTH); / JFrame类的默认布局管理器为BorderLayout,此处将panel1设置在面板的北侧。/ 在panel1面板上添加标签panel1.add(jlabel0);panel1.add(jLabel1);panel1.add(userID1);panel1.add(jLabel2);panel1.add(password1);btn_ok1 = new JButton(确定);btn_ok1.addActionListener(this);panel1.add(btn_ok1);JPanel panel2 = new JPanel(new FlowLayout();this.add(panel2);this.add(panel2, BorderLayout.CENTER); / JFrame类的默认布局管理器为BorderLayout,此处将panel2设置在面板的南侧。/ 在panel2面板上添加组件panel2.add(jlabel00);panel2.add(jLabel3);panel2.add(name);panel2.add(jLabel4);/创建ButtonGroup的对象,用于维护单选按钮的逻辑关系ButtonGroup bg1 = new ButtonGroup();rb1 = new JRadioButtonsex.length;/ 单选按钮for (int i = 0; i 2; i+) / rb1i = new JRadioButton(sexi);bg1.add(rb1i);/ 管理单选按钮panel2.add(rb1i); / 将单选按钮添加到面panel2.add(jLabel5);panel2.add(password2);panel2.add(jLabel6);panel2.add(ID2);panel2.add(jLabel7);panel2.add(department);panel2.add(jLabel8);panel2.add(major);panel2.add(jLabel9);/创建ButtonGroup的对象,用于维护单选按钮的逻辑关系ButtonGroup bg2 = new ButtonGroup();rb2 = new JRadioButtontype.length;/ 单选按钮for (int j = 0; j 3; j+) / rb2j = new JRadioButton(typej);bg2.add(rb2j);/ 管理单选按钮,只能选一个panel2.add(rb2j); / 将单选按钮添加到面btn_ok2 = new JButton(确定);btn_ok2.addActionListener(this);panel2.add(btn_ok2);public static void main(String args) RLogin app = new RLogin();app.setSize(600, 200); / 设置窗口大小app.setVisible(true); / 设置窗口可见app.setDefaultCloseOperation(EXIT_ON_CLOSE); / end main methodOverridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stub/String sex, type;/ 用户点击登录确定按钮if (e.getSource() = btn_ok1) userbean rs = new userbean(); /System.out.println(userID1.getText() + password1.getText();rs.login(userID1.getText(), password1.getText(); this.dispose();/ 用户点击注册确定按钮if (e.getSource() = btn_ok2) / 获取用户选择的性别并存入sex中for (int m = 0; m rb1.length; m+)if (rb1m.isSelected()sex = rb1m.getText();/ 获取用户选择的类别并存入type中for (int n = 0; n rb2.length; n+)if (rb2n.isSelected()type = n+1;userbean rs = new userbean(); rs.register (name.getText(), sex, password2.getText(), ID2.getText(), department.getText(),major.getText(), type); this.dispose(); / end actionPrform method / end systemLogin method添加图书:package bookDB;import java.awt.*; import java.awt.event.*;import javax.swing.*;public class bookAdd extends JFrame implements ActionListener/监听机制 Container c; JLabel jLabel1 = new JLabel(图书名);/JLable存放文本或图像 JLabel jLabel2 = new JLabel(数量); JLabel jLabel3 = new JLabel(作者); JLabel jLabel4 = new JLabel(出版社); JTextField bookname = new JTextField(10); /JTextField获取图书名JTextField number = new JTextField(10); JTextField author = new JTextField(10); JTextField press = new JTextField(10); JButton addconfirm = new JButton();/JButton按钮 public bookAdd() this.setTitle(增加图书信息); this.setResizable(true); /setResizable(true)窗口大小可调节,false不可调节 tryInit();catch (Exception e)/获取异常e.printStackTrace(); public void Init() throws Exception /初始化函数this.setSize(300,500); /设置大小c = this.getContentPane(); /获取内容面板,所有显示在窗口的控件都添加在这个面板上c.setLayout(new FlowLayout(); /布局管理器setLayout() c.add(jLabel1); /向面板添加文字“图书ID:” c.add(bookname); /向面板添加图书名输入框 c.add(jLabel2); /添加图书数量 c.add(number); /向面板添加图书数量输入框c.add(jLabel3); /添加作者 c.add(author);/添加作者输入框 c.add(jLabel4);/添加出版社c.add(press);/添加出版社输入框addconfirm.setText(确认增加); /设置按钮上的字 addconfirm.setFont(new Font(Dialog,0,12);/设置按钮上字体 c.add(addconfirm); /添加按钮 addconfirm.addActionListener(this); /对按钮添加事件监听 public void actionPerformed(ActionEvent e) Object obj = e.getSource();/获得事件监听对象 if(obj = addconfirm) bookBean rs = new bookBean(); int num = Integer.parseInt(number.getText();/将获取的图书数量由String类型转化为整型rs.bookAdd(bookname.getText(),num,author.getText(),press.getText(); this.dispose(); /关闭窗口,并释放窗体资源 修改图书信息:package bookDB;import java.awt.*; import java.awt.event.*; import javax.swing.*; public class bookEdit extends JFrame implements ActionListener Container c; JLabel jLabel1 = new JLabel(图书ID:);JLabel jLabel2 = new JLabel(图书名:); JLabel jLabel3 = new JLabel(作者:); JLabel jLabel4 = new JLabel(出版社:); JLabel jLabel5 = new JLabel(馆藏量:);JLabel jLabel6 = new JLabel(剩余馆藏量:);JLabel jLabel7 = new JLabel(当前预约人数:);JTextField bookID = new JTextField(10);JTextField bookname= new JTextField(10);JTextField author = new JTextField(10); JTextField press = new JTextField(10);JTextField number = new JTextField(10); JTextField lastNumber = new JTextField(10);JTextField apointment = new JTextField(10);JButton editconfirm = new JButton(); public bookEdit() this.setTitle(修改图书信息); this.setResizable(true); tryInit();catch (Exception e)e.printStackTrace(); /设置居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation(int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); public void Init() throws Exception this.setSize(600,500); c = this.getContentPane(); c.setLayout(new FlowLayout(); c.add(jLabel1); bookID.setText(null); c.add(bookID); c.add(jLabel2); bookname.setText(null); c.add(bookname);c.add(jLabel3); author.setText(null); c.add(author); c.add(jLabel4); press.setText(null); c.add(press); c.add(jLabel5); number.setText(null); c.add(number);c.add(jLabel6);lastNumber.setText(null); c.add(lastNumber);c.add(jLabel7);apointment.setText(null); c.add(apointment); /更改信息的组件添加完毕editconfirm.setText(确认修改); c.add(editconfirm); editconfirm.addActionListener(this); /添加事件监听 public void actionPerformed(ActionEvent e) Object obj = e.getSource(); if(obj = editconfirm) bookBean rs = new bookBean();rs.bookModify(bookID.getText(),bookname.getText(),author.getText(),press.getText(),number.getText(),lastNumber.getText(),apointment.getText(); this.dispose(); 借阅图书:package bookDB;import java.awt.*;import java.awt.event.*;import javax.swing.*; public class bookLend extends JFrame implements ActionListener Container c; JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JLabel jLabel4 = new JLabel(); JTextField bookname = new JTextField(10); JTextField bookID = new JTextField(10);JTextField username= new JTextField(10);JTextField userID = new JTextField(10);JButton bookconfirm = new JButton(); public bookLend() this.setTitle(借阅图书); this.setResizable(true); tryInit();catch (Exception e)e.printStackTrace(); /设置居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation(int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); public void Init() throws Exception this.setSize(600,500); c = this.getContentPane();c.setLayout(new FlowLayout();jLabel1.setText(借阅图书名: ); c.add(jLabel1); bookname.setText(null); c.add(bookname); jLabel2.setText(借阅图书ID: ); c.add(jLabel2); bookID.setText(null); c.add(bookID); bookconfirm.setText(确定); /设置按钮c.add(bookconfirm);/添加按钮控件 bookconfirm.addActionListener(this);/添加监听事件 public void actionPerformed(ActionEvent e) Object obj = e.getSource(); if(obj = bookconfirm) bookBean rs = new bookBean(); int bookid = Integer.parseInt(bookID.getText();/获取登录用户的iduserbean login = new userbean();String loginID = login.loginID;/System.out.println(loginID);rs.bookBook(bookname.getText(),bookid,loginID); this.dispose(); 还书:package bookDB;import java.awt.*; import java.awt.event.*; import javax.swing.*;public class bookReturn extends JFrame implements ActionListener Container c;/JLabel jLabel1 = new JLabel(); /归还图书的名称/JTextField bookname = new JTextField(10);JLabel jLabel2= new JLabel(); /归还图书的idJTextField bookid = new JTextField(10);JButton reconfirm = new JButton(); public bookReturn() this.setTitle(归还图书); this.setResizable(true); tryInit();catch (Exception e)e.printStackTrace(); /设置居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation(int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); public void Init() throws Exception this.setSize(300,500); c = this.getContentPane(); c.setLayout(new FlowLayout(); jLabel2.setText(归还图书id: ); c.add(jLabel2); bookid.setText(null); c.add(bookid); reconfirm.setText(确定); c.add(reconfirm); reconfirm.addActionListener(this); public void actionPerformed(ActionEvent e) Object obj = e.getSource(); if(obj = reconfirm) bookBean rs = new bookBean();/int bookId = Integer.parseInt(bookid.getText();rs.bookReturn(bookid.getText();/this.dispose(); 查询图书:package bookDB;import java.awt.*;import java.awt.event.*; import javax.*; import javax.sw
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!