Java uses JDBC to connect to SQL database, which is suitable for beginners to learn (a small book information management)

From , 3 Years ago, written in Java, viewed 232 times.
URL https://pastebin.vip/view/c0a271bc
  1. public class MainFrame extends JFrame {
  2.  
  3.         private static final long serialVersionUID = 591378743488239713L;
  4.         public static String DB_NAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  5.         public static String DB_URL = "jdbc:sqlserver://localhost:1433; DatabaseName=BookManager";
  6.  
  7.         JPanel contentPane;
  8.         Statement ps;
  9.         ResultSet rs;
  10.         Connection con;
  11.         JMenuBar jMenuBar = new JMenuBar();
  12.         JMenu Menu_UserManager = new JMenu();
  13.         JMenu jMenuHelp = new JMenu();
  14.         JMenuItem jMenuHelpAbout = new JMenuItem();
  15.         JMenuItem adduser = new JMenuItem();
  16.         JMenuItem deleteuser = new JMenuItem();
  17.         JMenu reader_management = new JMenu(); // 读者管理
  18.         JMenuItem queryReader = new JMenuItem();
  19.         JMenuItem change_readerInfo = new JMenuItem();
  20.         JMenuItem add_readerInfo = new JMenuItem();
  21.         JMenu borrowAndreturn = new JMenu(); // 借阅管理
  22.         JMenuItem returnBook = new JMenuItem();
  23.         JMenuItem borrowBook = new JMenuItem();
  24.         JMenu book_management = new JMenu(); // 图书管理
  25.         JMenuItem AddBook = new JMenuItem();
  26.         JMenuItem ChangeBookInfo = new JMenuItem();
  27.         JMenuItem queryBookInfo = new JMenuItem();
  28.         JMenuItem exit = new JMenuItem();
  29.         JMenuItem changePasswd = new JMenuItem();
  30.         JMenuItem scanningUser = new JMenuItem();
  31.         JMenuItem login = new JMenuItem();
  32.  
  33.         public MainFrame() {
  34.                 enableEvents(AWTEvent.WINDOW_EVENT_MASK);
  35.                 try {
  36.                         jbInit();
  37.                 } catch (Exception e) {
  38.                         e.printStackTrace();
  39.                 }
  40.         }
  41.  
  42.         // Component initialization
  43.         private void jbInit() throws Exception {
  44.  
  45.                 this.setResizable(false);
  46.                 this.setTitle("图书信息管理系统");
  47.                 contentPane = new MyPanelk();
  48.                 contentPane.setOpaque(false);
  49.                 contentPane.add(jMenuBar);
  50.                 this.add(contentPane);
  51.  
  52.                 Menu_UserManager.setFont(new java.awt.Font("Dialog", 0, 15));
  53.                 Menu_UserManager.setForeground(Color.black);
  54.                 Menu_UserManager.setText("用户管理");
  55.  
  56.                 adduser.setFont(new java.awt.Font("Dialog", 0, 15));
  57.                 adduser.setText("添加用户");
  58.                 adduser.addActionListener(new mainFrame_adduser_actionAdapter(this));
  59.  
  60.                 deleteuser.setFont(new java.awt.Font("Dialog", 0, 15));
  61.                 deleteuser.setText("删除用户");
  62.                 deleteuser.addActionListener(new mainFrame_deleteuser_actionAdapter(this));
  63.  
  64.                 exit.setFont(new java.awt.Font("Dialog", 0, 15));
  65.                 exit.setText("退出系统");
  66.                 exit.addActionListener(new mainFrame_exit_actionAdapter(this));
  67.  
  68.                 changePasswd.setFont(new java.awt.Font("Dialog", 0, 15));
  69.                 changePasswd.setText("修改密码");
  70.                 changePasswd.addActionListener(new mainFrame_changePasswd_actionAdapter(this));
  71.  
  72.                 scanningUser.setFont(new java.awt.Font("Dialog", 0, 15));
  73.                 scanningUser.setText("浏览用户");
  74.                 scanningUser.addActionListener(new mainFrame_scanningUser_actionAdapter(this));
  75.  
  76.                 login.setFont(new java.awt.Font("Dialog", 0, 15));
  77.                 login.setText("用户登录");
  78.                 login.addActionListener(new mainFrame_login_actionAdapter(this));
  79.  
  80.                 jMenuHelp.setFont(new java.awt.Font("Dialog", 0, 15));
  81.                 jMenuHelp.setText("帮助信息");
  82.                 jMenuHelpAbout.setFont(new java.awt.Font("Dialog", 0, 15));
  83.                 jMenuHelpAbout.setText("关于");
  84.                 jMenuHelpAbout.addActionListener(new mainFrame_HelpAbout_ActionAdapter(this));
  85.  
  86.                 reader_management.setFont(new java.awt.Font("Dialog", 0, 15));
  87.                 reader_management.setText("读者管理");
  88.  
  89.                 add_readerInfo.setFont(new java.awt.Font("Dialog", 0, 15));
  90.                 add_readerInfo.setForeground(Color.black);
  91.                 add_readerInfo.setText("添加读者信息");
  92.                 add_readerInfo.addActionListener(new mainFrame_addReaderInfo_actionAdapter(this));
  93.  
  94.                 change_readerInfo.setFont(new java.awt.Font("Dialog", 0, 15));
  95.                 change_readerInfo.setText("查改删读者信息");
  96.                 change_readerInfo.addActionListener(new mainFrame_changeReaderInfo_actionAdapter(this));
  97.  
  98.                 queryReader.setFont(new java.awt.Font("Dialog", 0, 15));
  99.                 queryReader.setText("查询读者信息");
  100.                 queryReader.addActionListener(new mainFrame_scanningUserInfo_actionAdapter(this));
  101.  
  102.                 borrowAndreturn.setFont(new java.awt.Font("Dialog", 0, 15));
  103.                 borrowAndreturn.setText("借阅管理");
  104.  
  105.                 book_management.setFont(new java.awt.Font("Dialog", 0, 15));
  106.                 book_management.setText("图书管理");
  107.  
  108.                 AddBook.setFont(new java.awt.Font("Dialog", 0, 15));
  109.                 AddBook.setText("添加图书");
  110.                 AddBook.addActionListener(new mainFrame_AddBook_actionAdapter(this));
  111.  
  112.                 borrowBook.setFont(new java.awt.Font("Dialog", 0, 15));
  113.                 borrowBook.setText("借阅图书");
  114.                 borrowBook.addActionListener(new mainFrame_borrowBook_actionAdapter(this));
  115.  
  116.                 returnBook.setFont(new java.awt.Font("Dialog", 0, 15));
  117.                 returnBook.setText("归还图书");
  118.                 returnBook.addActionListener(new mainFrame_returnBook_actionAdapter(this));
  119.  
  120.                 ChangeBookInfo.setFont(new java.awt.Font("Dialog", 0, 15));
  121.                 ChangeBookInfo.setText("改删图书信息");
  122.                 ChangeBookInfo.addActionListener(new mainFrame_ChangeBookInfo_actionAdapter(this));
  123.  
  124.                 queryBookInfo.setFont(new java.awt.Font("Dialog", 0, 15));
  125.                 queryBookInfo.setText("查询图书信息");
  126.                 queryBookInfo.addActionListener(new mainFrame_scanningBookInfo_actionAdapter(this));
  127.  
  128.                 Menu_UserManager.add(login);
  129.                 Menu_UserManager.add(scanningUser);
  130.                 Menu_UserManager.add(changePasswd);
  131.                 Menu_UserManager.add(adduser);
  132.                 Menu_UserManager.add(deleteuser);
  133.                 Menu_UserManager.add(exit);
  134.  
  135.                 jMenuHelp.add(jMenuHelpAbout);
  136.  
  137.                 jMenuBar.add(Menu_UserManager);
  138.                 jMenuBar.add(reader_management);
  139.                 jMenuBar.add(borrowAndreturn);
  140.                 jMenuBar.add(book_management);
  141.                 jMenuBar.add(jMenuHelp);
  142.  
  143.                 reader_management.add(add_readerInfo);
  144.                 reader_management.add(change_readerInfo);
  145.                 reader_management.add(queryReader);
  146.  
  147.                 borrowAndreturn.add(borrowBook);
  148.                 borrowAndreturn.add(returnBook);
  149.  
  150.                 book_management.add(AddBook);
  151.                 book_management.add(ChangeBookInfo);
  152.                 book_management.add(queryBookInfo);
  153.  
  154.                 reader_management.setEnabled(false);
  155.                 borrowAndreturn.setEnabled(false);
  156.                 book_management.setEnabled(false);
  157.                 Menu_UserManager.setEnabled(true);
  158.                 scanningUser.setEnabled(false);
  159.                 adduser.setEnabled(false);
  160.                 deleteuser.setEnabled(false);
  161.  
  162.                 this.setBounds(400, 100, 600, 400);
  163.                 this.setVisible(true);
  164.         }
  165.  
  166.         public static void main(String args[]) {
  167.  
  168.                 /* 设置系统默认布局样式 */
  169.                 String lookAndFeel = UIManager.getSystemLookAndFeelClassName();
  170.                 try {
  171.                         // UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
  172.                         UIManager.setLookAndFeel(lookAndFeel);
  173.                 } catch (ClassNotFoundException e1) {
  174.                         e1.printStackTrace();
  175.                 } catch (InstantiationException e1) {
  176.                         e1.printStackTrace();
  177.                 } catch (IllegalAccessException e1) {
  178.                         e1.printStackTrace();
  179.                 } catch (UnsupportedLookAndFeelException e1) {
  180.                         e1.printStackTrace();
  181.                 }
  182.  
  183.                 SetPersonalFont setfont = new SetPersonalFont();
  184.                 setfont.InitGlobalFont(new Font("monspaced", Font.PLAIN, 13));
  185.                 MainFrame main = new MainFrame();
  186.                 main.setVisible(true);
  187.         }
  188.  
  189.         public void jMenuFileExit_actionPerformed(ActionEvent e) {
  190.                 System.exit(0);
  191.         }
  192.  
  193.         // Help | About action performed
  194.         public void HelpAbout_actionPerformed(ActionEvent e) {
  195.                 new About();
  196.         }
  197.  
  198.         // Overridden so we can exit when window is closed
  199.         @Override
  200.         protected void processWindowEvent(WindowEvent e) {
  201.                 super.processWindowEvent(e);
  202.                 if (e.getID() == WindowEvent.WINDOW_CLOSING) {
  203.                         jMenuFileExit_actionPerformed(null);
  204.                 }
  205.         }
  206.  
  207.         void adduser_actionPerformed(ActionEvent e) {
  208.                 new AddUser();
  209.         }
  210.  
  211.         void deleteuser_actionPerformed(ActionEvent e) {
  212.                 new DeleteUser();
  213.         }
  214.  
  215.         void xgmm_actionPerformed(ActionEvent e) {
  216.                 new ChangePassword();
  217.         }
  218.  
  219.         void borrowBook_actionPerformed(ActionEvent e) {
  220.                 new BorrowBook();
  221.         }
  222.  
  223.         void returnBook_actionPerformed(ActionEvent e) {
  224.                 new ReturnBook();
  225.         }
  226.  
  227.         void exit_actionPerformed(ActionEvent e) {
  228.                 System.exit(0);
  229.         }
  230.  
  231.         void login_actionPerformed(ActionEvent e) {
  232.                 final JTextField user_ID = new JTextField(); // 用户ID
  233.                 final JPasswordField pwd = new JPasswordField();// 密码
  234.                 final JDialog dialog = new JDialog();
  235.                 JPanel panel = new JPanel();
  236.                 panel.setLayout(null);
  237.                 // this.getContentPane().setLayout(null);
  238.                 dialog.setTitle("登录");
  239.                 dialog.setBounds(500, 200, 300, 250);
  240.  
  241.                 JLabel label_ID = new JLabel(); // 用户ID
  242.                 JLabel label_pwd = new JLabel(); // 用户密码
  243.                 JLabel label_power = new JLabel(); // 登录身份
  244.  
  245.                 final JComboBox<String> login_power = new JComboBox<String>(); // 登录权限
  246.                 login_power.addItem("管理员");
  247.                 login_power.addItem("读者");
  248.  
  249.                 label_ID.setText("请输入用户ID:");
  250.                 label_ID.setBounds(20, 20, 100, 29);
  251.                 user_ID.setBounds(120, 20, 130, 29);
  252.                 user_ID.setText("1000920303");
  253.  
  254.                 label_pwd.setText("请输入密码:");
  255.                 label_pwd.setBounds(20, 60, 100, 29);
  256.                 pwd.setBounds(120, 60, 130, 29);
  257.                 pwd.setText("123");
  258.  
  259.                 label_power.setText("身份验证:");
  260.                 label_power.setBounds(20, 100, 100, 29);
  261.                 login_power.setBounds(120, 100, 130, 29);
  262.  
  263.                 JButton jbSure = new JButton("确定(Y)");
  264.                 jbSure.setMnemonic(KeyEvent.VK_Y);
  265.                 jbSure.setBounds(40, 150, 80, 29);
  266.  
  267.                 JButton cancel = new JButton("取消(N)");
  268.                 cancel.setMnemonic(KeyEvent.VK_N);
  269.                 cancel.setBounds(150, 150, 85, 29);
  270.                 cancel.addActionListener(new ActionListener() {
  271.  
  272.                         @Override
  273.                         public void actionPerformed(ActionEvent e) {
  274.                                 dialog.dispose();
  275.                         }
  276.                 });
  277.  
  278.                 // 居中显示
  279.                 // Toolkit kit = Toolkit.getDefaultToolkit();
  280.                 // Dimension screenSize = kit.getScreenSize();
  281.                 // dialog.setLocation((screenSize.width - 200) / 2,
  282.                 // (screenSize.height - 150) / 2);
  283.  
  284.                 dialog.getContentPane().add(panel, null);
  285.                 panel.add(label_ID);
  286.                 panel.add(user_ID);
  287.                 panel.add(label_pwd);
  288.                 panel.add(pwd);
  289.                 panel.add(jbSure);
  290.                 panel.add(label_power);
  291.                 panel.add(login_power);
  292.                 panel.add(cancel);
  293.  
  294.                 jbSure.addActionListener(new ActionListener() {
  295.                         @Override
  296.                         public void actionPerformed(ActionEvent e) {
  297.                                 if ((!(user_ID.getText().equals("")) && !(new String(pwd.getPassword()).equals("")))) {
  298.                                         try {// 连接数据库,验证用户
  299.                                                 Class.forName(DB_NAME);
  300.                                                 Connection con = DriverManager.getConnection(DB_URL, "sa", "server");
  301.                                                 ps = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
  302.                                         } catch (ClassNotFoundException | SQLException e1) {
  303.                                                 e1.printStackTrace();
  304.                                         }
  305.  
  306.                                         switch (login_power.getSelectedItem().toString()) {
  307.                                         case "管理员":
  308.  
  309.                                                 try {
  310.                                                         rs = ps.executeQuery(
  311.                                                                         "select * from UserInfo where UserID='" + user_ID.getText().trim() + "' "); // 读取数据库
  312.                                                         if (!rs.next()) {
  313.                                                                 JOptionPane.showMessageDialog(null, "不存在此用户!");
  314.                                                         } else if (!(rs.getString("Password").trim().equals(new String(pwd.getPassword())))) {
  315.                                                                 JOptionPane.showMessageDialog(null, "密码错误!");
  316.                                                         } else {
  317.                                                                 dialog.dispose();
  318.                                                                 reader_management.setEnabled(true);
  319.                                                                 borrowAndreturn.setEnabled(true);
  320.                                                                 book_management.setEnabled(true);
  321.                                                                 Menu_UserManager.setEnabled(true);
  322.                                                                 scanningUser.setEnabled(true);
  323.                                                                 adduser.setEnabled(true);
  324.                                                                 deleteuser.setEnabled(true);
  325.                                                                 add_readerInfo.setEnabled(true);
  326.                                                         }
  327.                                                 } catch (SQLException sqle) {
  328.                                                         String error = sqle.getMessage();
  329.                                                         JOptionPane.showMessageDialog(null, error);
  330.                                                         sqle.printStackTrace();
  331.                                                 }
  332.                                                 break;
  333.  
  334.                                         case "读者":
  335.                                                 try {// 读取数据库
  336.                                                         rs = ps.executeQuery(
  337.                                                                         "select * from ReadersInfo where ReaderID='" + user_ID.getText().trim() + "' ");
  338.                                                         if (!rs.next()) {
  339.                                                                 JOptionPane.showMessageDialog(null, "不存在此用户!");
  340.                                                         } else if (!(rs.getString("Password").trim().equals(new String(pwd.getPassword())))) {
  341.                                                                 JOptionPane.showMessageDialog(null, "密码错误!");
  342.                                                         } else {
  343.                                                                 dialog.dispose();
  344.                                                                 book_management.setEnabled(true);
  345.                                                                 reader_management.setEnabled(false);
  346.                                                                 ChangeBookInfo.setEnabled(false);
  347.                                                                 AddBook.setEnabled(false);
  348.                                                                 // change_readerInfo.setEnabled(true);
  349.                                                                 borrowAndreturn.setEnabled(true);
  350.                                                                 add_readerInfo.setEnabled(false);
  351.                                                                 queryBookInfo.setEnabled(true);
  352.                                                                 Menu_UserManager.setEnabled(true);
  353.                                                                 scanningUser.setEnabled(false);
  354.                                                                 adduser.setEnabled(false);
  355.                                                                 deleteuser.setEnabled(false);
  356.                                                                 add_readerInfo.setEnabled(false);
  357.                                                         }
  358.                                                 } catch (SQLException e1) {
  359.                                                         JOptionPane.showMessageDialog(null, e1.toString());
  360.                                                 }
  361.  
  362.                                                 break;
  363.                                         }
  364.  
  365.                                 } else {
  366.                                         JOptionPane.showMessageDialog(null, "用户ID或密码不能为空");
  367.                                 }
  368.                         }
  369.                 });
  370.                 dialog.setModal(true);
  371.                 dialog.setVisible(true);
  372.         }
  373.  
  374.         void addReaderInfo_actionPerformed(ActionEvent e) {
  375.                 new AddReaderInfo();
  376.         }
  377.  
  378.         void changeReaderInfo_actionPerformed(ActionEvent e) {
  379.                 new ChangeReadersInfo();
  380.         }
  381.  
  382.         void scanningUserInfo_actionPerformed(ActionEvent e) {
  383.                 new ScanningReadersInfo();
  384.         }
  385.  
  386.         void scanningUser_actionPerformed(ActionEvent e) {
  387.                 new ScanningUser();
  388.         }
  389.  
  390.         void changePasswd_actionPerformed(ActionEvent e) {
  391.                 new ChangePassword();
  392.         }
  393.  
  394.         void AddBook_actionPerformed(ActionEvent e) {
  395.                 new AddBook();
  396.         }
  397.  
  398.         void ChangeBookInfo_actionPerformed(ActionEvent e) {
  399.                 new ChangeBookInfo();
  400.         }
  401.  
  402.         void scanningBook_actionPerformed(ActionEvent e) {
  403.                 new ScanBookInfo();
  404.         }
  405.  
  406. }
  407.  

Reply to "Java uses JDBC to connect to SQL database, which is suitable for beginners to learn (a small book information management)"

Here you can reply to the paste above

captcha

https://burned.cc - Burn After Reading Website