/*
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;
=====================================================================
=====================================================================
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();
}
}
}
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();
}
}
}
});
}
}
package com.txl;
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-bbKiWucF-1714805076583)]
[外链图片转存中…(img-YYe1noNY-1714805076583)]
[外链图片转存中…(img-DfTqHi2J-1714805076583)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!