GUI用户登录
- 功能实现要利用JDBC操作数据库
- 登录成功,弹出消息框提示用户 -
欢迎登录系统~
- 登录失败,弹出消息框提示用户 -
用户名或密码错误!
- 要求采用MVC架构
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d25109d9713ca3223078cfe1c3a99d7d.png)
(一)编程实现
1、创建数据库和表
(1)创建学生数据表
- 执行命令:
CREATE DATABASE student CHARSET='UTF8mb4'
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b668b3e3ff8c84160837f492b327757d.png)
(2)创建用户表
CREATE TABLE `t_user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名',
`password` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户密码',
`telephone` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系电话',
`register_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '注册时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4;
- 执行语句,查看结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ec43a9dcbd10588fae07b5dfeb8ee3ed.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/090497a19519783ddddaa02e530d7e2a.png)
- 插入三条用户记录
INSERT INTO t_user (username, password, telephone, register_time) VALUES ('admin', '12345', '13945456780', '2022-01-01 09:10:34');
INSERT INTO t_user (username, password, telephone, register_time) VALUES ('brown', '11111', '13878789089', '2022-03-12 19:05:44');
INSERT INTO t_user (username, password, telephone, register_time) VALUES ('alice', '22222', '15834345670', '2022-04-04 15:16:24');
- 执行语句,查看结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5c7c327322aebf70a4ff3fb8f8cafa23.png)
- 查看用户表记录
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c6827426ad1f41562be140b74b65fbea.png)
2、创建用户实体类
- 在
net.ouyangyi.p03.t09.bean
包里创建User
类
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f653d8f00af6a1a3a5661c5a6cc1cc2c.png)
package net.ouyangyi.p03.t09.bean;
import java.util.Date;
public class User {
private int id;
private String username;
private String password;
private String telephone;
private Date registerTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public Date getRegisterTime() {
return registerTime;
}
public void setRegisterTime(Date registerTime) {
this.registerTime = registerTime;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", telephone='" + telephone + '\'' +
", registerTime=" + registerTime +
'}';
}
}
3、添加数据库驱动程序包
- 在项目根目录创建
libs
目录,添加数据库驱动程序包
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2e4776096857f5f1e42cba6b819ab2e7.png)
- 此时,这个jar包还不能被项目使用,需要作为库添加到项目里
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b7cd79ca0d523eb094ec04cb31da853e.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e5ba29ecf74327f1f3b0dcdf4b1fd821.png)
- 此时,数据库驱动程序包就可以被项目使用了
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/019e2f121637be2d1c45b7643616a5e0.png)
4、创建用户数据访问接口
- 在
net.ouyangyi.p03.t09.dao
包里创建UserDao接口
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c299cb76fc8ba4d001a8caa9fd33a2b3.png)
package net.ouyangyi.p03.t09.dao;
import net.ouyangyi.p03.t09.bean.User;
import java.util.List;
public interface UserDao {
int insert(User user);
int deleteById(int id);
int update(User user);
int findById(int id);
List<User> findAll();
User login(String username, String password);
}
5、创建用户数据访问接口实现类
- 在
net.ouyangyi.p03.t09.dao.impl
包里创建UserDaoImp
l类
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/77d671a680d772249b26df39bef4dfcd.png)
UserDaoImpl
类实现UserDao
接口