Java實戰(zhàn)之用Swing實現(xiàn)通訊錄管理系統(tǒng)
更新時間:2021年06月13日 11:17:43 作者:水堅石青
今天給大家?guī)淼氖荍ava實戰(zhà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 { } } }
到此這篇關于Java實戰(zhàn)之用Swing實現(xiàn)通訊錄管理系統(tǒng)的文章就介紹到這了,更多相關JavaSwing實現(xiàn)通訊錄管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Javaweb實戰(zhàn)之實現(xiàn)蛋糕訂購系統(tǒng)
隨著網(wǎng)絡的普及與發(fā)展,網(wǎng)上購物逐漸成為一種主流消費的方式。這篇文章主要介紹了通過JavaWeb制作一個線上蛋糕訂購系統(tǒng),文中示例代碼講解詳細,需要的朋友可以參考一下2021-12-12異常解決SpringBoot項目啟動卡住,無任何異常信息問題
這篇文章主要介紹了異常解決SpringBoot項目啟動卡住,無任何異常信息問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03