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

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

  • 一、系统介绍
    • 1.系统功能
    • 2.环境配置
    • 3.数据库
    • 4.工程截图
  • 二、系统展示
    • 1.登录页
    • 2.主页
    • 3.查询信息
    • 4.新增信息
    • 5.修改信息
  • 三、部分代码
    • DBConn.java
    • Login.java
    • Test.java
  • 四、其他
    • 1.其他系统实现
      • JavaWeb系统系列实现
      • JavaSwing系统系列实现
    • 2.获取源码
    • 3.备注
    • 4.鸡汤

一、系统介绍

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', '[email protected]', '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.工程截图

Java+Swing实现通讯录管理系统_第1张图片

二、系统展示

1.登录页

Java+Swing实现通讯录管理系统_第2张图片

2.主页

Java+Swing实现通讯录管理系统_第3张图片

3.查询信息

Java+Swing实现通讯录管理系统_第4张图片

4.新增信息

Java+Swing实现通讯录管理系统_第5张图片

5.修改信息

Java+Swing实现通讯录管理系统_第6张图片

三、部分代码

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+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实现自助取款机(ATM)系统
Java+Swing实现超市管理系统-TXT存储信息
Java+Swing实现宠物商店管理系统-TXT存储信息

2.获取源码

请联系QQ:3079118617

3.备注

如有侵权请联系我删除。

4.鸡汤

我们的目的是清晰的,我们的道路是光明的!

你可能感兴趣的:(Java,mysql,swing,sql,jdbc,java)