最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實戰(zhàn)之用Swing實現(xiàn)通訊錄管理系統(tǒng)

 更新時間:2021年06月13日 11:17:43   作者:水堅石青  
今天給大家?guī)淼氖荍ava實戰(zhàn)的相關(guān)知識,文章圍繞著Swing實現(xiàn)通訊錄管理系統(tǒng)展開,文中有非常詳細的代碼示例,需要的朋友可以參考下

一、系統(tǒng)介紹

 1.系統(tǒng)功能

  • 登錄系統(tǒng)
  • 查詢信息
  • 新增信息
  • 修改信息
  • 刪除信息

2.環(huán)境配置

JDK版本:1.8
Mysql:8.0.13

3.數(shù)據(jù)庫

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

在這里插入圖片描述

二、系統(tǒng)展示

1.登錄頁

在這里插入圖片描述

2.主頁

在這里插入圖片描述

3.查詢信息

在這里插入圖片描述

4.新增信息

在這里插入圖片描述

5.修改信息

在這里插入圖片描述

三、部分代碼

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

	/**
	 * 連接數(shù)據(jù)庫
	 * 
	 * @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 {
		}
	
	}
}

到此這篇關(guān)于Java實戰(zhàn)之用Swing實現(xiàn)通訊錄管理系統(tǒng)的文章就介紹到這了,更多相關(guān)JavaSwing實現(xiàn)通訊錄管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 全面解讀Spring Boot 中的Profile配置體系

    全面解讀Spring Boot 中的Profile配置體系

    配置體系是基于 Spring Boot 框架開發(fā)應(yīng)用程序的基礎(chǔ),而自動配置也是該框架的核心功能之一。本文梳理Spring Boot 中的Profile配置體系的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Java實現(xiàn)的分頁工具類與用法示例

    Java實現(xiàn)的分頁工具類與用法示例

    這篇文章主要介紹了Java實現(xiàn)的分頁工具類與用法,結(jié)合完整實例形式分析了java分頁工具類的定義、使用方法及相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • 在Java中如何避免創(chuàng)建不必要的對象

    在Java中如何避免創(chuàng)建不必要的對象

    作為Java開發(fā)者,我們每天創(chuàng)建很多對象,但如何才能避免創(chuàng)建不必要的對象呢?這需要我們好好學(xué)習(xí),這篇文章主要給大家介紹了關(guān)于在Java中如何避免創(chuàng)建不必要對象的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • SpringBoot集成RabbitMQ實現(xiàn)用戶注冊的示例代碼

    SpringBoot集成RabbitMQ實現(xiàn)用戶注冊的示例代碼

    這篇文章主要介紹了SpringBoot集成RabbitMQ實現(xiàn)用戶注冊的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Idea中如何查看SpringSecurity各Filter信息

    Idea中如何查看SpringSecurity各Filter信息

    這篇文章主要介紹了Idea中如何查看SpringSecurity各Filter信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • MyBatis的mapper.xml文件中入?yún)⒑头祷刂档膶崿F(xiàn)

    MyBatis的mapper.xml文件中入?yún)⒑头祷刂档膶崿F(xiàn)

    這篇文章主要介紹了MyBatis的mapper.xml文件中入?yún)⒑头祷刂档膶崿F(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Mybatis?Plus使用XML編寫動態(tài)sql的超簡易方法

    Mybatis?Plus使用XML編寫動態(tài)sql的超簡易方法

    這篇文章主要介紹了Mybatis?Plus使用XML編寫動態(tài)sql的超簡易方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java?SM2加密相關(guān)實現(xiàn)與簡單原理詳解

    Java?SM2加密相關(guān)實現(xiàn)與簡單原理詳解

    SM2算法可以用較少的計算能力提供比RSA算法更高的安全強度,而所需的密鑰長度卻遠比RSA算法低,這篇文章主要給大家介紹了關(guān)于Java?SM2加密相關(guān)實現(xiàn)與簡單原理的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Sping?Security前后端分離兩種實戰(zhàn)方案

    Sping?Security前后端分離兩種實戰(zhàn)方案

    這篇文章主要介紹了Sping?Security前后端分離兩種方案,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • java網(wǎng)絡(luò)編程學(xué)習(xí)java聊天程序代碼分享

    java網(wǎng)絡(luò)編程學(xué)習(xí)java聊天程序代碼分享

    java聊天程序代碼分享,大家參考使用吧
    2013-12-12

最新評論

民和| 桑植县| 遂川县| 德保县| 梁河县| 宜城市| 读书| 武夷山市| 曲阳县| 江陵县| 通榆县| 沅陵县| 正宁县| 化德县| 大洼县| 马公市| 高尔夫| 集贤县| 永康市| 濮阳县| 筠连县| 乐昌市| 开平市| 乐山市| 钟祥市| 崇明县| 安泽县| 固安县| 亚东县| 武冈市| 方城县| 涞水县| 敖汉旗| 靖西县| 民县| 张家口市| 伊春市| 敦煌市| 龙岩市| 盘山县| 广饶县|