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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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存储信息


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
20 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
4天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
17 2
|
1天前
|
监控 安全 NoSQL
采用java+springboot+vue.js+uniapp开发的一整套云MES系统源码 MES制造管理系统源码
MES系统是一套具备实时管理能力,建立一个全面的、集成的、稳定的制造物流质量控制体系;对生产线、工艺、人员、品质、效率等多方位的监控、分析、改进,满足精细化、透明化、自动化、实时化、数据化、一体化管理,实现企业柔性化制造管理。
11 3
|
4天前
|
Java 关系型数据库 MySQL
java+B/S架构医院绩效考核管理系统源码 医院绩效管理系统4大特点
医院绩效考核管理系统,采用多维度综合绩效考核的形式,针对院内实际情况分别对工作量、KPI指标、科研、教学、管理等进行全面考核。医院可结合实际需求,对考核方案中各维度进行灵活配置,对各维度的权重、衡量标准、数据统计方式进行自定义维护。
13 0
|
4天前
|
监控 前端开发 Java
Java公立医院绩效考核管理系统 医院绩效考核系统的优势有哪些? 
医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求,以“工作量为基础的考核方案”为核心思想,结合患者满意度、服务质量、技术难度、工作效率、医德医风等管理发展目标的考核体系,形成医院的内部绩效考核与分配机制,通过信息化手段为绩效考评管理人员实施医院绩效考评工作提供了有效工具,扩展了信息管理范围,增加了信息分析的广度与深度。这不仅使绩效评价工作更加科学化、规范化和自动化,而且从根本上改变了绩效评估工作方式,实现了绩效评价数据网络化采集,评价结果透明化管理,奖金分配数据自动化生成,极大地提高了绩效评估的全面性、准确性、时效性、公正性。从而推进医院绩效管理的专业化、规范化和精细化管理,充分发挥
14 0
|
4天前
|
Java
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
13 2
|
4天前
|
Java
个人信息管理系统【JSP+Servlet+JavaBean】(Java课设)
个人信息管理系统【JSP+Servlet+JavaBean】(Java课设)
10 0
|
4天前
|
监控 前端开发 Java
Java基于B/S医院绩效考核管理平台系统源码 医院智慧绩效管理系统源码
医院绩效考核系统是一个关键的管理工具,旨在评估和优化医院内部各部门、科室和员工的绩效。一个有效的绩效考核系统不仅能帮助医院实现其战略目标,还能提升医疗服务质量,增强患者满意度,并促进员工的专业成长
20 0
|
4天前
|
小程序 Java 关系型数据库
Java毕设之社区生活超市管理系统
Java毕设之社区生活超市管理系统
20 1
|
4天前
|
小程序 Java 关系型数据库
Java毕设之人事管理系统
Java毕设之人事管理系统
17 3