From 94186f6e56236883a031ddc37350a500c03ee729 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:58:40 +0800 Subject: [PATCH] fix: homework7 dao issue --- .../com/msksbr/homework7/dao/UsersDao.java | 25 +++++++++++++------ .../com/msksbr/homework7/util/JDBCUtils.java | 12 ++++++++- homework7/src/test/java/dao/Add.java | 17 +++++++++++++ homework7/src/test/java/dao/Delete.java | 10 ++++++++ homework7/src/test/java/dao/Query.java | 21 ++++++++++++++++ homework7/src/test/java/dao/Update.java | 17 +++++++++++++ 6 files changed, 93 insertions(+), 9 deletions(-) create mode 100644 homework7/src/test/java/dao/Add.java create mode 100644 homework7/src/test/java/dao/Delete.java create mode 100644 homework7/src/test/java/dao/Query.java create mode 100644 homework7/src/test/java/dao/Update.java diff --git a/homework7/src/main/java/com/msksbr/homework7/dao/UsersDao.java b/homework7/src/main/java/com/msksbr/homework7/dao/UsersDao.java index 30e5213..0603555 100644 --- a/homework7/src/main/java/com/msksbr/homework7/dao/UsersDao.java +++ b/homework7/src/main/java/com/msksbr/homework7/dao/UsersDao.java @@ -2,7 +2,11 @@ * @name: UsersDao.java * @author: msksbr * @date: 2025-05-26 - * @version: 1.0 + * @version: 1.11f: fix id absence issue + * 1.1f: fix table name issue + * 1.1: fix date format issue + * 1.0f: fix update method issue + * 1.0 * @description: UsersDao class for homework 7 */ package com.msksbr.homework7.dao; @@ -11,30 +15,35 @@ import com.msksbr.homework7.domain.User; import com.msksbr.homework7.util.JDBCUtils; import java.sql.ResultSet; +import java.text.SimpleDateFormat; public class UsersDao { private final JDBCUtils jdbcUtils = new JDBCUtils(); + private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 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); + String sql = "INSERT INTO User (id, username, password, email, birthday) " + + "VALUES (" + user.getId() + ", '" + user.getUsername() + "', '" + + user.getPassword() + "', '" + user.getEmail() + "', '" + + sdf.format(user.getBirthday()) + "')"; + jdbcUtils.runUpdate(sql); } public void deleteUser(int id) { - String sql = "DELETE FROM users WHERE id = " + id; - jdbcUtils.runQuery(sql); + String sql = "DELETE FROM User WHERE id = " + id; + jdbcUtils.runUpdate(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); + String sql = "UPDATE User SET username = '" + user.getUsername() + "', password = '" + user.getPassword() + "', email = '" + user.getEmail() + "', birthday = '" + sdf.format(user.getBirthday()) + "' WHERE id = " + user.getId(); + jdbcUtils.runUpdate(sql); } public User findUserById(int id) { - String sql = "SELECT * FROM users WHERE id = " + id; + String sql = "SELECT * FROM User WHERE id = " + id; ResultSet rs = jdbcUtils.runQuery(sql); try { if (rs.next()) { 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 cc2fc7c..1e09cce 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,9 @@ * @name: JDBCUtils.java * @author: msksbr * @date: 2025-05-26 - * @version: 1.0f: fix yaml file load issue + * @version: 1.1: add a update method + * 1.0f: fix yaml file load issue + * 1.0 * @description: JDBCUtils class for homework 7 */ package com.msksbr.homework7.util; @@ -39,6 +41,14 @@ public class JDBCUtils { } } + public void runUpdate(String sql) { + try { + this.statement.executeUpdate(sql); + } catch (Exception e) { + e.printStackTrace(); + } + } + static class DBInfo { String address; String port; diff --git a/homework7/src/test/java/dao/Add.java b/homework7/src/test/java/dao/Add.java new file mode 100644 index 0000000..d6abacd --- /dev/null +++ b/homework7/src/test/java/dao/Add.java @@ -0,0 +1,17 @@ +package dao; + +import com.msksbr.homework7.dao.UsersDao; +import com.msksbr.homework7.domain.User; + +public class Add { + public static void main(String[] args) { + User user = new User(); + user.setId(9999); + user.setUsername("test"); + user.setPassword("test"); + user.setEmail("test@example.com"); + user.setBirthday(new java.util.Date()); + UsersDao usersDao = new UsersDao(); + usersDao.addUser(user); + } +} diff --git a/homework7/src/test/java/dao/Delete.java b/homework7/src/test/java/dao/Delete.java new file mode 100644 index 0000000..863cc19 --- /dev/null +++ b/homework7/src/test/java/dao/Delete.java @@ -0,0 +1,10 @@ +package dao; + +import com.msksbr.homework7.dao.UsersDao; + +public class Delete { + public static void main(String[] args) { + UsersDao usersDao = new UsersDao(); + usersDao.deleteUser(9999); + } +} diff --git a/homework7/src/test/java/dao/Query.java b/homework7/src/test/java/dao/Query.java new file mode 100644 index 0000000..7e0c2e4 --- /dev/null +++ b/homework7/src/test/java/dao/Query.java @@ -0,0 +1,21 @@ +package dao; + +import com.msksbr.homework7.dao.UsersDao; +import com.msksbr.homework7.domain.User; + +import java.util.HashMap; +import java.util.Map; + +public class Query { + public static void main(String[] args) { + UsersDao usersDao = new UsersDao(); + User user = usersDao.findUserById(9999); + Map map = new HashMap(); + map.put("id", user.getId()); + map.put("username", user.getUsername()); + map.put("password", user.getPassword()); + map.put("email", user.getEmail()); + map.put("birthday", user.getBirthday()); + System.out.println(map); + } +} diff --git a/homework7/src/test/java/dao/Update.java b/homework7/src/test/java/dao/Update.java new file mode 100644 index 0000000..e68ace0 --- /dev/null +++ b/homework7/src/test/java/dao/Update.java @@ -0,0 +1,17 @@ +package dao; + +import com.msksbr.homework7.dao.UsersDao; +import com.msksbr.homework7.domain.User; + +public class Update { + public static void main(String[] args) { + UsersDao userDao = new UsersDao(); + User user = new User(); + user.setId(9999); + user.setUsername("test1"); + user.setPassword("test1"); + user.setEmail("modified@example.com"); + user.setBirthday(new java.util.Date()); + userDao.updateUser(user); + } +}