运行效果:
注册登陆界面
![716c65cc6396e797231a3523e7400b52.png](https://i-blog.csdnimg.cn/blog_migrate/30d13e017233017c409e5e8c71171f96.jpeg)
注册存在的账户时
![cf219f813b763e1a6d3f5adb952b90d6.png](https://i-blog.csdnimg.cn/blog_migrate/ae1f75371166db770c6a18f425db5ebe.jpeg)
登陆之后主界面如下
![56df520e80c17a0dd964334e0dff03e3.png](https://i-blog.csdnimg.cn/blog_migrate/0e1c0c54e47f9779f6de72386082d88d.jpeg)
点击图书管理-图书更新界面如下
![a0e72e5c5010415b56ddd17e8aff93d5.png](https://i-blog.csdnimg.cn/blog_migrate/04216ce35486b2f841677bc190ba62f0.jpeg)
图书列表
![54decf049b77cbb0da499a5f559a7c20.png](https://i-blog.csdnimg.cn/blog_migrate/d53e2da70b384bbb3d098e787f4cc1a8.jpeg)
项目说明:
由于平时工作比较忙,也没时间写,可是我在公众号后台看见好多小伙伴讨论,我就抽时间写个当作参考。本系统界面我个人就从简设计了,本来打算使用windowbuilder插件设计的,可想到使用windowbuilder插件之后导致代码冗余,会影响到代码可读性,可能对小白不友好。虽然界面设计简单,但是功能上我会尽量想着写全,当然对于页面你可以增加自己的设计,比如增加一个背景图片等,网上都有指导,对于界面美观度从简了。
关键代码:
用户登陆
package bookmanage.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import bookmanage.model.User;
import bookmanage.utils.DbUtil;
/**
* @Description 连接数据库工具类
* @author com.javayihao.top
*/
public class UserDao {
/**
* 根据用户账号查询用户
*
* @param accout
* 入参:用户账号
* @return 查找的用户
*/
public User getUserByAccout(String accout) {
Connection connection = DbUtil.getConnection();
String sql = "select accout,pass from t_user where accout=?";
try {
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, accout);
ResultSet rs = ps.executeQuery();
if (rs.next()) {// 存在用户,封装用户返回
User user = new User(rs.getString("accout"), rs.getString("pass"));
DbUtil.close(connection, ps);// 关闭连接
return user;
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public boolean insertUser(User user) {
Connection connection = DbUtil.getConnection();// 获得数据库连接对象
String sql = "insert into t_user(accout,pass)values(?,?)";
try {
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, user.getAccout());
ps.setString(2, user.getPass());
if (!ps.execute()) {// 成功
DbUtil.close(connect