diff --git a/TAdmindaoimplzh.java b/TAdmindaoimplzh.java new file mode 100644 index 0000000..fa90c37 --- /dev/null +++ b/TAdmindaoimplzh.java @@ -0,0 +1,163 @@ +package com.WR.StudentMS.dao.mysql; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +import com.WR.StudentMS.dao.TAdmindaolzh; +import com.WR.StudentMS.model.TAdminlzh; + + + + +public class TAdmindaoimplzh implements TAdmindaolzh { + + @Override + public List findAll() { + String sql = "SELECT userid, username, userpw FROM t_admin"; // 修正SQL语句 + List list = new ArrayList<>(); + try ( + Connection conn = DBHelper.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery() + ) { + while (rs.next()) { + TAdminlzh p = new TAdminlzh(); + p.setUserId(rs.getInt("userid")); + p.setUserName(rs.getString("username")); + p.setUserPw(rs.getString("userpw")); + list.add(p); + } + } catch (SQLException e) { + e.printStackTrace(); + } + return list; + } + + @Override + public TAdminlzh findById(String userId) { // 修改参数类型为int + String sql = "SELECT userid, username, userpw FROM t_admin WHERE userid = ?"; + TAdminlzh tAdminlzh = null; + try ( + Connection conn = DBHelper.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(sql) + ) { + pstmt.setString(1, userId); + ResultSet rs = pstmt.executeQuery(); + if (rs.next()) { + tAdminlzh = new TAdminlzh(); + tAdminlzh.setUserId(rs.getInt("userid")); + tAdminlzh.setUserName(rs.getString("username")); + tAdminlzh.setUserPw(rs.getString("userpw")); + } + } catch (SQLException e) { + e.printStackTrace(); + } + return tAdminlzh; + } + + // ... 其他方法的实现将根据上述示例进行类似修改 + + @Override + public int create(TAdminlzh tadminlzh) { + // TODO Auto-generated method stub + String sql = "insert into t_admin (userid,username,userpw) values (?,?,?)"; + + try( + Connection conn = DBHelper.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(sql); + ) + { + pstmt.setInt(1, tadminlzh.getUserId()); + pstmt.setString(2, tadminlzh.getUserName()); + pstmt.setString(3, tadminlzh.getUserPw()); + + int executeUpdate = pstmt.executeUpdate(); + System.out.printf("成功插入%d数据\n",executeUpdate); + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } + return 0; + } + + @Override + public int modify(TAdminlzh tadminlzh) { + // TODO Auto-generated method stub + String sql = "UPDATE t_admin SET " + + "username = ?, " + + "userpw = ? " + + "WHERE userid = ?"; + + try ( + Connection conn = DBHelper.getConnection(); + PreparedStatement pstmt= conn.prepareStatement(sql) + ) + { + + pstmt.setInt(1, tadminlzh.getUserId()); + pstmt.setString(2, tadminlzh.getUserName()); + pstmt.setString(3, tadminlzh.getUserPw()); + int executeUpdate = pstmt.executeUpdate(); + System.out.printf("成功更新%d条数据。\n", executeUpdate); + } catch (SQLException e) { + e.printStackTrace(); + } + + return 0; + } + + @Override + public int remove(TAdminlzh tadminlzh) { + // TODO Auto-generated method stub + String sql = "DELETE FROM t_admin WHERE userid = ? AND username = ? AND userpw = ?"; + + try ( + Connection conn = DBHelper.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(sql)) { + pstmt.setInt(1, tadminlzh.getUserId()); + pstmt.setString(2, tadminlzh.getUserName()); + pstmt.setString(3, tadminlzh.getUserPw()); + int executeUpdate = pstmt.executeUpdate(); + System.out.printf("成功删除%d条数据。\n", executeUpdate); + } catch (SQLException e) { + e.printStackTrace(); + } + return 0; + } + @Override + public boolean verifyCredentials(String userName, String userPw) { + String sql = "SELECT COUNT(*) FROM t_admin WHERE username = ? AND userpw = ?"; + try ( + Connection conn = DBHelper.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(sql) + ) { + pstmt.setString(1, userName); + pstmt.setString(2, userPw); + ResultSet rs = pstmt.executeQuery(); + return rs.next() && rs.getInt(1) > 0; + } catch (SQLException e) { + e.printStackTrace(); + } + return false; + } + + @Override + public int changePassword(String userName, String newPassword) { + String sql = "UPDATE t_admin SET userpw = ? WHERE username = ?"; + try ( + Connection conn = DBHelper.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(sql) + ) { + pstmt.setString(1, newPassword); + pstmt.setString(2, userName); + return pstmt.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + } + return 0; + } +}