From fb4ff04aac662007b62ccc87924d3e04983383a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=A1=E5=9D=82=E3=82=B9=E3=83=90=E3=83=AB?= Date: Mon, 26 May 2025 16:17:32 +0800 Subject: [PATCH] archieve: homework7 UserDao --- homework7/.idea/dataSources.xml | 18 +++++ homework7/.idea/dictionaries/project.xml | 7 ++ homework7/.idea/sqldialects.xml | 7 ++ homework7/sql/User.sql | 14 ++++ .../com/msksbr/homework7/dao/UsersDao.java | 53 ++++++++++++++ .../com/msksbr/homework7/util/JDBCUtils.java | 2 +- test/jdbc/src/sql/jdbc.sql | 71 ------------------- 7 files changed, 100 insertions(+), 72 deletions(-) create mode 100644 homework7/.idea/dataSources.xml create mode 100644 homework7/.idea/dictionaries/project.xml create mode 100644 homework7/.idea/sqldialects.xml create mode 100644 homework7/sql/User.sql create mode 100644 homework7/src/main/java/com/msksbr/homework7/dao/UsersDao.java delete mode 100644 test/jdbc/src/sql/jdbc.sql diff --git a/homework7/.idea/dataSources.xml b/homework7/.idea/dataSources.xml new file mode 100644 index 0000000..cb704e0 --- /dev/null +++ b/homework7/.idea/dataSources.xml @@ -0,0 +1,18 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://msksbr.com:3306 + + + + + + + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/homework7/.idea/dictionaries/project.xml b/homework7/.idea/dictionaries/project.xml new file mode 100644 index 0000000..531ae63 --- /dev/null +++ b/homework7/.idea/dictionaries/project.xml @@ -0,0 +1,7 @@ + + + + msksbr + + + \ No newline at end of file diff --git a/homework7/.idea/sqldialects.xml b/homework7/.idea/sqldialects.xml new file mode 100644 index 0000000..c280be9 --- /dev/null +++ b/homework7/.idea/sqldialects.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/homework7/sql/User.sql b/homework7/sql/User.sql new file mode 100644 index 0000000..438b1eb --- /dev/null +++ b/homework7/sql/User.sql @@ -0,0 +1,14 @@ +USE `msksbr.homework7`; +CREATE TABLE User +( + id INT PRIMARY KEY, + username VARCHAR(255) NOT NULL, + password VARCHAR(255) NOT NULL, + email VARCHAR(255), + birthday DATE +); + +INSERT INTO User (id, username, password, email, birthday) +VALUES (1000, "msksbr", "password", "gugugulaocuchen@gmail.com", "2005-05-05"), + (1001, "xor3301", "password", "zzmark437@gmail.com", "2005-01-01"), + (1002, "anzai", "password", "b.an@sleepbed.top", "2003-01-01"); \ No newline at end of file diff --git a/homework7/src/main/java/com/msksbr/homework7/dao/UsersDao.java b/homework7/src/main/java/com/msksbr/homework7/dao/UsersDao.java new file mode 100644 index 0000000..30e5213 --- /dev/null +++ b/homework7/src/main/java/com/msksbr/homework7/dao/UsersDao.java @@ -0,0 +1,53 @@ +/* + * @name: UsersDao.java + * @author: msksbr + * @date: 2025-05-26 + * @version: 1.0 + * @description: UsersDao class for homework 7 + */ +package com.msksbr.homework7.dao; + +import com.msksbr.homework7.domain.User; +import com.msksbr.homework7.util.JDBCUtils; + +import java.sql.ResultSet; + +public class UsersDao { + private final JDBCUtils jdbcUtils = new JDBCUtils(); + private User user = new User(); + + public void addUser(User user) { + this.user = user; + String sql = "INSERT INTO users (username, password, email, birthday) VALUES ('" + user.getUsername() + "', '" + user.getPassword() + "', '" + user.getEmail() + "', '" + user.getBirthday() + "')"; + jdbcUtils.runQuery(sql); + } + + public void deleteUser(int id) { + String sql = "DELETE FROM users WHERE id = " + id; + jdbcUtils.runQuery(sql); + } + + public void updateUser(User user) { + this.user = user; + String sql = "UPDATE users SET username = '" + user.getUsername() + "', password = '" + user.getPassword() + "', email = '" + user.getEmail() + "', birthday = '" + user.getBirthday() + "' WHERE id = " + user.getId(); + jdbcUtils.runQuery(sql); + } + + public User findUserById(int id) { + String sql = "SELECT * FROM users WHERE id = " + id; + ResultSet rs = jdbcUtils.runQuery(sql); + try { + if (rs.next()) { + user.setId(rs.getInt("id")); + user.setUsername(rs.getString("username")); + user.setPassword(rs.getString("password")); + user.setEmail(rs.getString("email")); + user.setBirthday(rs.getDate("birthday")); + } + return user; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } +} diff --git a/homework7/src/main/java/com/msksbr/homework7/util/JDBCUtils.java b/homework7/src/main/java/com/msksbr/homework7/util/JDBCUtils.java index e948a47..cc2fc7c 100644 --- a/homework7/src/main/java/com/msksbr/homework7/util/JDBCUtils.java +++ b/homework7/src/main/java/com/msksbr/homework7/util/JDBCUtils.java @@ -2,7 +2,7 @@ * @name: JDBCUtils.java * @author: msksbr * @date: 2025-05-26 - * @version: 1.0 + * @version: 1.0f: fix yaml file load issue * @description: JDBCUtils class for homework 7 */ package com.msksbr.homework7.util; diff --git a/test/jdbc/src/sql/jdbc.sql b/test/jdbc/src/sql/jdbc.sql deleted file mode 100644 index 4092fd3..0000000 --- a/test/jdbc/src/sql/jdbc.sql +++ /dev/null @@ -1,71 +0,0 @@ -CREATE TABLE users ( - id INT PRIMARY KEY AUTO_INCREMENT, - NAME VARCHAR(40), - PASSWORD VARCHAR(40), - email VARCHAR(60), - birthday DATE -) CHARACTER SET utf8 COLLATE utf8_general_ci; - -INSERT INTO - users ( - NAME, - PASSWORD, - email, - birthday - ) -VALUES ( - 'zs', - '123456', - 'zs@sina.com', - '1980-12-04' - ); - -INSERT INTO - users ( - NAME, - PASSWORD, - email, - birthday - ) -VALUES ( - 'lisi', - '123456', - 'lisi@sina.com', - '1981-12-04' - ); - -INSERT INTO - users ( - NAME, - PASSWORD, - email, - birthday - ) -VALUES ( - 'wangwu', - '123456', - 'wangwu@sina.com', - '1979-12-04' - ); - -CREATE TABLE tb_user ( - id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, -- id主键 - username VARCHAR(40) NOT NULL, -- 账户名称,设置不为空 - PASSWORD VARCHAR(40) NOT NULL, -- 密码,设置不为空 - NAME VARCHAR(40) DEFAULT NULL, -- 用户真实姓名,默认为空 - gender VARCHAR(20) DEFAULT NULL, -- 用户性别,默认为空 - phonenumber VARCHAR(30) DEFAULT NULL, -- 用户手机号码,默认为空 - identitycode VARCHAR(30) DEFAULT NULL -- 用户身份证号码,默认为空 -); - -INSERT INTO - tb_user -VALUES ( - 1, - '张三', - '123', - '张三', - 'male', - '13888888888', - '110202107075023' - ); \ No newline at end of file