package dao.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import util.DBConfig; import dao.UserDAO; import entity.User; public class UserDAOImpl implements UserDAO { public void addUser(User user) { Connection conn = null; PreparedStatement ps = null; try { conn = DBConfig.getConnection(); ps = conn.prepareStatement("insert into t_user(username,name,password,sex) values(?,?,?,?)"); ps.setString(1, user.getUsername()); ps.setString(2, user.getName()); ps.setString(3, user.getPassword()); ps.setString(4, user.getSex()); ps.executeUpdate(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBConfig.close(ps, conn); } } public void deleteUserByID(int ID) { Connection conn = null; PreparedStatement ps = null; try { conn = DBConfig.getConnection(); ps = conn.prepareStatement("delete from t_user where id=?"); ps.setInt(1, ID); } catch (Exception e) { e.printStackTrace(); } finally { DBConfig.close(ps, conn); } } public void updateUser(User user) { Connection conn = null; PreparedStatement ps = null; try { conn = DBConfig.getConnection(); ps = conn.prepareStatement("update t_user set username=?,name=?,password=?,sex=? where id=?"); ps.setString(1, user.getUsername()); ps.setString(2, user.getName()); ps.setString(3, user.getPassword()); ps.setString(4, user.getSex()); ps.setInt(5, user.getId()); ps.executeUpdate(); } catch(Exception e) { e.printStackTrace(); } finally { DBConfig.close(ps, conn); } } // public User findUserByID(int ID) { // Connection conn = null; // PreparedStatement ps = null; // ResultSet rs = null; // User user = null; // try { // conn = DBConfig.getConnection(); // ps = conn.prepareStatement("select * from t_user where id=?"); // ps.setInt(1, ID); // rs = ps.executeQuery(); // user = new User(); // user.setId(rs.getInt("id")); // user.setUsername(rs.getString("username")); // user.setName(rs.getString("name")); // user.setPassword(rs.getString("password")); // user.setSex(rs.getString("sex")); // // } catch(Exception e) { // e.printStackTrace(); // } finally { // try { // rs.close(); // ps.close(); // conn.close(); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // } // return user; // } public ArrayList<User> findAllUsers() { ArrayList<User> userlist = new ArrayList<User>(); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = DBConfig.getConnection(); ps = conn.prepareStatement("select * from t_user"); rs = ps.executeQuery(); while(rs.next()) { User user = new User(); //一定要加,否则会发生空指针异常 user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setName(rs.getString("name")); user.setPassword(rs.getString("password")); user.setSex(rs.getString("sex")); userlist.add(user); } } catch(Exception e) { e.printStackTrace(); } finally { DBConfig.close(rs, ps, conn); } return userlist; } public User findUserByUsername(String username) { User user = null; Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = DBConfig.getConnection(); ps = conn.prepareStatement("select * from t_user where username=?"); ps.setString(1, username); //此时的rs处于第一行记录的上面,指向null rs = ps.executeQuery(); //rs.next()后,rs指向第一行记录 while(rs.next()) { //此处必须new一个user,否则报null异常 user = new User(); user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setName(rs.getString("name")); user.setSex(rs.getString("sex")); } } catch(Exception e) { e.printStackTrace(); } finally { DBConfig.close(rs, ps, conn); } return user; } public boolean login(String username, String password) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = DBConfig.getConnection(); String sql = "select count(*) countUser from t_user where username=? and password=?"; //PreparedStatement编译并发送SQL语句,如用Statement会被SQL注入式攻击 ps = conn.prepareStatement(sql); //?赋值 ps.setString(1, username); ps.setString(2, password); rs = ps.executeQuery(); while(rs.next()) { int result = rs.getInt("countUser"); if(result == 1) { System.out.println("登录成功"); return true; }else { System.out.println("登录失败"); return false; } } } catch(Exception e) { e.printStackTrace(); }finally { DBConfig.close(rs, ps, conn); } return false; } }

2022102154 LV1
4月3日
小橘子是你啊 LV1
3月31日
微信网友_7399890514677760 LV1
2月25日
新哥新奇士橙 LV4
1月26日
cxdddd LV1
2024年12月31日
sinuodeng123 LV5
2024年12月13日
jiafei LV1
2024年12月11日
b1uccc LV2
2024年12月8日
blank1 LV1
2024年11月28日
gxh666857 LV1
2024年11月26日

222ada LV1
4月23日
小橘子是你啊 LV1
3月31日
2022102154 LV1
3月27日
叉烧君 LV3
3月26日
feng0519
3月25日
暂无贡献等级
benben2020
3月19日
暂无贡献等级
1252590909 LV2
3月17日
PLVAE_514 LV2
3月7日
longouxiu
3月1日
暂无贡献等级
微信网友_6520355827929088 LV2
2月28日