开发者社区> 水坚石青> 正文

Java+Swing实现通讯录管理系统

简介: Java+Swing实现通讯录管理系统
+关注继续查看

一、系统介绍


1.系统功能


1.登录系统

2.查询信息

3.新增信息

4.修改信息

5.删除信息


2.环境配置


JDK版本:1.8

Mysql:8.0.13


3.数据库

/*
 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 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.工程截图


image.jpeg



二、系统展示


1.登录页


20210611000653340.jpg


2.主页


20210611000714807.jpg


3.查询信息


20210611000726769.jpg


4.新增信息


20210611000737726.jpg


5.修改信息


20210611000750556.jpg


三、部分代码


DBConn.java

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();
        }
    }

}

Login.java

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

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 {
        }
    
    }
}


四、其他


1.其他系统实现


JavaWeb系统系列实现

Java+JSP实现学生图书管理系统

Java+JSP实现学生信息管理系统

Java+JSP实现用户信息管理系统

Java+Servlet+JSP实现航空订票系统

Java+Servlet+JSP实现学生选课管理系统

Java+Servlet+JSP实现学生成绩管理系统

Java+Servlet+JSP实现宠物诊所管理系统

Java+SSM+Easyui实现网上考试系统

Java+Springboot+H-ui实现营销管理系统

Java+Springboot+Mybatis+Bootstrap实现网上商城系统


JavaSwing系统系列实现

Java+Swing实现斗地主游戏

Java+Swing实现图书管理系统

Java+Swing实现医院管理系统

Java+Swing实现仓库管理系统

Java+Swing实现考试管理系统

Java+Swing实现通讯录管理系统

Java+Swing实现停车场管理系统

Java+Swing实现学生信息管理系统

Java+Swing实现学生宿舍管理系统

Java+Swing实现学生选课管理系统

Java+Swing实现学生成绩管理系统

Java+Swing实现学校教材管理系统

Java+Swing实现学校教务管理系统

Java+Swing实现企业人事管理系统

Java+Swing实现电子相册管理系统

Java+Swing实现自助取款机(ATM)系统

Java+Swing实现超市管理系统-TXT存储信息

Java+Swing实现宠物商店管理系统-TXT存储信息


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
16454 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
19808 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29172 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
22539 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
20910 0
+关注
189
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载