网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

今天给大家带来的是Java实战的相关知识,文章围绕着Swing实现通讯录管理系统展开,文中有非常详细的代码示例,需要的朋友可以参考下


一、系统介绍

 1.系统功能

  • 登录系统

  • 查询信息

  • 新增信息

  • 修改信息

  • 删除信息

2.环境配置

JDK版本:1.8
Mysql:8.0.13

3.数据库

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

/*

 Navicat Premium Data Transfer


 Source Server         : MySQL

 Source Server Type    : MySQL

 Source Server Version : 80013

 Source Host           : localhost:3306

 Source Schema         : swing_address


 Target Server Type    : MySQL

 Target Server Version : 80013

 File Encoding         : 65001


 Date: 10/06/2021 23:56:16

*/


SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;


-- ----------------------------

-- Table structure for my_address_book

-- ----------------------------

DROP TABLE IF EXISTS `my_address_book`;

CREATE TABLE `my_address_book`  (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,

  `sex` varchar(255) CHARACTER SET utf8 COLLATE<360> utf8_bin NULL DEFAULT NULL,

  `telephone` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,

  `mail` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,

  `birthday` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,

  `note` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,

  PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Compact;


-- ----------------------------

-- Records of my_address_book

-- ----------------------------

INSERT INTO `my_address_book` VALUES (2, '杨XX', '男', '18911616917', '1@163.com', '20200107', 'XX');

INSERT INTO `my_address_book` VALUES (3, '222', '女', '22', '22', '22', '22');

INSERT INTO `my_address_book` VALUES (4, '1', '女', '1', '1', '1', '1');


-- ----------------------------

-- Table structure for my_address_login

-- ----------------------------

DROP TABLE IF EXISTS `my_address_login`;

CREATE TABLE `my_address_login`  (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,

  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,

  PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Compact;


-- ----------------------------

-- Records of my_address_login

-- ----------------------------

INSERT INTO `my_address_login` VALUES (1, '1', '1');


SET FOREIGN_KEY_CHECKS = 1;

4.工程截图

在这里插入图片描述

二、系统展示

1.登录页

在这里插入图片描述

2.主页

在这里插入图片描述

3.查询信息

在这里插入图片描述

4.新增信息

在这里插入图片描述

5.修改信息

在这里插入图片描述

三、部分代码

DBConn.java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

package com.txl;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


public class DBConn {

    private static String driverName = "com.mysql.cj.jdbc.Driver";

    private static String url = "jdbc:mysql://localhost:3306/swing_address?serverTimezone=UTC";

    private static String userName = "root";

    private static String password = "admin";

    private Connection conn;

    private Statement stmt;


    public DBConn() {

        try {

            Class.forName(driverName);

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

    }


    /**

     * 连接数据库

     *

     * @return

     * @throws SQLException

     */

    public Connection getConnection() throws SQLException {

        return DriverManager.getConnection(url, userName, password);

    }


    /**

     * 释放资源

     */

    public void dispose() {

        try {

            if (conn != null) {

                conn.close();

            }

            if (stmt != null) {

                stmt.close();

            }

        } catch (SQLException e) {

            e.printStackTrace();

        }

    }


<1360>}

Login.java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

package com.txl;


import java.awt.FlowLayout;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Vector;


import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

import javax.swing.JPasswordField;

  

public class Login {

     

    public static void main(String args[]) {

        Login l=new Login();

        l.showUI();

    }

     

    public void showUI() {

        javax.swing.JFrame login=new javax.swing.JFrame();

        login.setTitle("登录通讯录");

        login.setSize(340,230);

        login.setDefaultCloseOperation(3);

        login.setLocationRelativeTo(null);

        login.setResizable(false);

  

        java.awt.FlowLayout fl=new java.awt.FlowLayout(FlowLayout.CENTER,5,5);

        login.setLayout(fl);

             

        JLabel labname=new JLabel();

        labname.setText("用户名:");

        labname.setPreferredSize(new java.awt.Dimension(60, 60));

        login.add(labname);

         

        JTextField textname=new JTextField();

        textname.setPreferredSize(new java.awt.Dimension(250, 30));

        login.add(textname);

        JLabel labpassword=new JLabel();

        labpassword.setText("密     码:");

        labpassword.setPreferredSize(new java.awt.Dimension(60, 60));

        login.add(labpassword);

         

        JPasswordField jp=new JPasswordField();

        jp.setPreferredSize(new java.awt.Dimension(250, 30));

        login.add(jp);

         

        javax.swing.JButton button=new javax.swing.JButton();

        button.setText("登录");

        button.setPreferredSize(new java.awt.Dimension(100, 40));

        login.add(button);

        login.setVisible(true);

        button.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent e) {

                 

                 

                DBConn dbconn = new DBConn();

                Statement stmt = null;

                ResultSet rs = null;

                try {

                    stmt = dbconn.getConnection().createStatement();

                    rs = stmt.executeQuery("select * from my_address_login where username='"+textname.getText()+"' and password='"+jp.getText()+"'");

                    if (rs.next()) {

                        new MyAddressBook();

                        login.dispose();

                    }else{

                        JOptionPane.showMessageDialog(null, "用户名或密码不正确!!!");

                    }

                    rs.close();

                } catch (SQLException e1) {

                    e1.printStackTrace();

                } finally {

                    try {

                        if (stmt != null) {

                            stmt.close();

                        }

                        if (rs != null) {

                            rs.close();

                        }

                    } catch (SQLException e1) {

                        e1.printStackTrace();

                    }


                }

            }

        });

         

         

    }

}

Test.java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

package com.txl;


import java.sql.PreparedStatement;

import java.sql.SQLException;


import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.TableColumn;


public class Test {

    public static void main(String[] args) {

        DBConn dbconn = new DBConn();;;;;

        try {

            for(int i =0 ;i<1000000;i++){

                String sql = "insert into student(name, age)values('XXX"+i+"',30)";

                PreparedStatement pstmt = dbconn.getConnection().prepareStatement(sql);

                System.out.println(sql);

                pstmt.execute(sql);

                pstmt.close();

            }

        } catch (SQLException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } finally {

        }

     

    }

}

 


评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部