package com.findu.dao; import com.findu.entity.User; import com.findu.utils.JDBCUtils; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UserDao { /** * 通过用户名查找用户 * @param name * @return */ public static User findUserByName(String name) throws SQLException{ Connection conn = null; PreparedStatement stat = null; ResultSet rs = null; try { //3.获取连接后发送sql语句访问数据库 conn = JDBCUtils.getConnection(); if(conn!=null){ conn.setAutoCommit(false);//关闭自动提交,即开启手动事务 } String sql = "select * from user where username=?"; stat = conn.prepareStatement(sql); stat.setString(1, name); rs = stat.executeQuery(); conn.commit();//提交事务 if (rs.next()) { User u = new User(); u.setId(rs.getInt("userid")); u.setName(rs.getString("username")); u.setPassword(rs.getString("userpassword")); u.setEmail(rs.getString("useremail")); u.setPhone(rs.getString("userphone")); u.setBirthday(rs.getDate("userbirthday")); u.setAddress(rs.getString("useraddress")); u.setHead(rs.getString("userhead")); u.setExplain(rs.getString("userexplain")); u.setQq(rs.getString("userqq")); u.setGender(rs.getString("usergender")); User localUser1 = u; return localUser1; } } catch (Exception e) { if(conn!=null){ try{ conn.rollback();//发生异常回滚事务 }catch(Exception e1){ e1.printStackTrace(); System.out.println("回滚出错"); } } e.printStackTrace(); } finally { JDBCUtils.release(rs, stat, conn); } return null; } /** * 通过手机号查找用户 * @param phone * @return */ public static User findUserByPhone(String phone) throws SQLException{ Connection conn = null; PreparedStatement stat = null; ResultSet rs = null; try { conn = JDBCUtils.getConnection(); String sql = "select * from user where userphone=?"; stat = conn.prepareStatement(sql); stat.setString(1, phone); rs = stat.executeQuery(); if (rs.next()) { User u = new User(); u.setId(rs.getInt("userid")); u.setName(rs.getString("username")); u.setPassword(rs.getString("userpassword")); u.setEmail(rs.getString("useremail")); u.setPhone(rs.getString("userphone")); u.setBirthday(rs.getDate("userbirthday")); u.setAddress(rs.getString("useraddress")); u.setHead(rs.getString("userhead")); u.setExplain(rs.getString("userexplain")); u.setQq(rs.getString("userqq")); u.setGender(rs.getString("usergender")); return u; } } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.release(rs, stat, conn); } return null; } /** * 通过邮箱查找用户 * @param email * @return */ public static User findUserByEmail(String email) throws SQLException{ Connection conn = null; PreparedStatement stat = null; ResultSet rs = null; try { conn = JDBCUtils.getConnection(); String sql = "select * from user where useremail=?"; stat = conn.prepareStatement(sql); stat.setString(1, email); rs = stat.executeQuery(); if (rs.next()) { User u = new User(); u.setId(rs.getInt("userid")); u.setName(rs.getString("username")); u.setPassword(rs.getString("userpassword")); u.setEmail(rs.getString("useremail")); u.setPhone(rs.getString("userphone")); u.setBirthday(rs.getDate("userbirthday")); u.setAddress(rs.getString("useraddress")); u.setHead(rs.getString("userhead")); u.setExplain(rs.getString("userexplain")); u.setQq(rs.getString("userqq")); u.setGender(rs.getString("usergender")); return u; } } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.release(rs, stat, conn); } return null; } /** * 通过用户id查找用户 * @param id * @return */ public static User findUserById(int id) throws SQLException{ Connection conn = null; PreparedStatement stat = null; ResultSet rs = null; try { conn = JDBCUtils.getConnection(); String sql = "select * from user where userid=?"; stat = conn.prepareStatement(sql); stat.setInt(1, id); rs = stat.executeQuery(); if (rs.next()) { User u = new User(); u.setId(rs.getInt("userid")); u.setName(rs.getString("username")); u.setPassword(rs.getString("userpassword")); u.setEmail(rs.getString("useremail")); u.setPhone(rs.getString("userphone")); u.setBirthday(rs.getDate("userbirthday")); u.setAddress(rs.getString("useraddress")); u.setHead(rs.getString("userhead")); u.setExplain(rs.getString("userexplain")); u.setQq(rs.getString("userqq")); u.setGender(rs.getString("usergender")); return u; } } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.release(rs, stat, conn); } return null; } /** * 保存用户信息,注册 * @param user */ public void save(User user) throws SQLException{ Connection conn = null; PreparedStatement stat = null; try { conn = JDBCUtils.getConnection(); String sql = "insert into user(username,userpassword,useremail,userphone)"; sql = sql + "values(?,?,?,?)"; stat = conn.prepareStatement(sql); stat.setString(1, user.getName()); stat.setString(2, user.getPassword()); stat.setString(3, user.getEmail()); stat.setString(4, user.getPhone()); stat.execute(); } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.release(null, stat, conn); } } /** * 修改数据 * @param user */ public void changeUserData(User user) throws SQLException{ Connection conn = null; PreparedStatement stat = null; try { conn = JDBCUtils.getConnection(); String sql = "UPDATE USER SET usergender=?,userbirthday=?,userqq=?,useraddress=?,userexplain=? WHERE userid=?"; stat = conn.prepareStatement(sql); stat.setString(1, user.getGender()); java.sql.Date date = null; if (user.getBirthday() != null) { date = new java.sql.Date(user.getBirthday().getTime()); } stat.setDate(2, date); stat.setString(3, user.getQq()); stat.setString(4, user.getAddress()); stat.setString(5, user.getExplain()); stat.setInt(6, user.getId()); stat.execute(); } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.release(null, stat, conn); } } /** * 修改密码 * @param newpass * @param userid */ public void changePass(String newpass, int userid) throws SQLException{ Connection conn = null; PreparedStatement stat = null; try { conn = JDBCUtils.getConnection(); String sql = "UPDATE USER SET userpassword=? where userid=?"; stat = conn.prepareStatement(sql); stat.setString(1, newpass); stat.setInt(2, userid); stat.execute(); } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.release(null, stat, conn); } } }

打死王二狗 LV1
2024年12月16日
张泽帅 LV6
2024年10月21日
亦叶灰 LV1
2024年10月18日
yunduan123 LV1
2024年10月14日
柳咪华沙 LV7
2024年6月28日
wangsheng818 LV4
2024年4月4日
大道至简 LV13
2023年11月3日
jiemomo LV12
2023年10月19日
cybcyb LV1
2023年9月5日
dowell_liu LV1
2023年8月2日

78451252632354
7月10日
暂无贡献等级
付洋麟 LV5
4月23日
233123
2024年12月20日
暂无贡献等级
xinshou11111x
2024年12月19日
暂无贡献等级
打死王二狗 LV1
2024年12月13日
asdxvfvfs
2024年12月3日
暂无贡献等级
3312djdad LV2
2024年11月8日
亦叶灰 LV1
2024年10月17日
张泽帅 LV6
2024年10月17日
yunduan123 LV1
2024年10月7日