package server.dao; import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import server.common.JDBC; import server.entity.Users; public class UserDao implements IUser { JDBC con = new JDBC(); @Override public boolean add(Users user) throws SQLException { Date birth = user.getBirthday(); String sql="insert into users(u_name,u_pwd,u_gender,u_email,u_remarke,u_signature,u_head_Img,u_type,u_birthday) values (?,?,?,?,?,?,?,?,?)"; String[] params={user.getName(),user.getPwd(),user.getGender(),user.getEmail(),user.getRemarke(),user.getSignature(),user.getHeadImg(),user.getType(),user.getBirthday().toString()}; return con.update(sql,params)>0; } @Override public boolean delete(int usersid) throws SQLException { String sql="delete from users where U_ID =?"; if(con.update(sql, new String[]{String.valueOf(usersid)})>0) { return true; } else { return false; } } public boolean update(Users user) { int result = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.format(user.getBirthday().getTime()); try { result = con.update("update users set u_name = ?, u_pwd = ?, u_gender = ?, " + "u_email = ?," + " u_remarke = ?, u_signature = ?, u_head_img = ?, u_type = ?," + " u_birthday = to_date('"+user.getBirthday()+"','yyyy-mm-dd') where u_id = ?", new String[]{user.getName(), user.getPwd(),user.getGender(),user.getEmail() ,user.getRemarke(), user.getSignature(),user.getHeadImg(),user.getType(), String.valueOf(user.getId())}); } catch (Exception e) { e.printStackTrace(); } return result>0; } @Override public ArrayList<Users> queryAll() { Users user = null; ArrayList<Users> list = new ArrayList<Users>(); ResultSet rs = con.query("select * from users order by u_id", null); try { // 开始遍历获取数据 while (rs.next()) { user = new Users();// 如果找到数据,创建用户对象 user.setId(rs.getInt("u_id")); user.setName(rs.getString("u_name")); user.setPwd(rs.getString("u_pwd")); user.setGender(rs.getString("u_gender")); user.setEmail(rs.getString("u_email")); user.setLastLogin(rs.getString("u_last_login")); user.setLastExit(rs.getString("u_last_exit")); user.setRemarke(rs.getString("u_remarke")); user.setSignature(rs.getString("u_signature")); user.setHeadImg(rs.getString("u_head_Img")); user.setBirthday(rs.getDate("u_birthday")); user.setType(rs.getString("u_type")); user.setState(rs.getString("u_state")); user.setIp(rs.getString("u_ip")); list.add(user); } } catch (SQLException e) { e.printStackTrace(); } finally { //con.closeConnection();// 关闭所有数据库对象 } return list; } public Users queryById(int usersid) { Users user = null; ResultSet rs = con.query("select * from users where u_id=? ", new String[] { String.valueOf(usersid) }); try { // 开始遍历获取数据 while (rs.next()) { user = new Users();// 如果找到数据,创建用户对象 user.setId(rs.getInt("u_id")); user.setName(rs.getString("u_name")); user.setPwd(rs.getString("u_pwd")); user.setGender(rs.getString("u_gender")); user.setEmail(rs.getString("u_email")); user.setLastLogin(rs.getString("u_last_login")); user.setLastExit(rs.getString("u_last_exit")); user.setRemarke(rs.getString("u_remarke")); user.setSignature(rs.getString("u_signature")); user.setHeadImg(rs.getString("u_head_Img")); user.setBirthday(rs.getDate("u_birthday")); user.setType(rs.getString("u_type")); } } catch (SQLException e) { e.printStackTrace(); } finally { //con.closeConnection();// 关闭所有数据库对象 } return user; } public Users queryByName(String userName) { Users user = null; ResultSet rs = con.query("select * from users where u_name=?", new String[]{userName}); try { // 开始遍历获取数据 while (rs.next()) { user = new Users();// 如果找到数据,创建用户对象 user.setId(rs.getInt("u_id")); user.setName(rs.getString("u_name")); user.setPwd(rs.getString("u_pwd")); user.setGender(rs.getString("u_gender")); user.setEmail(rs.getString("u_email")); user.setLastLogin(rs.getString("u_last_login")); user.setLastExit(rs.getString("u_last_exit")); user.setRemarke(rs.getString("u_remarke")); user.setSignature(rs.getString("u_signature")); user.setHeadImg(rs.getString("u_head_Img")); user.setBirthday(rs.getDate("u_birthday")); user.setType(rs.getString("u_type")); } } catch (SQLException e) { e.printStackTrace(); } finally { //con.closeConnection();// 关闭所有数据库对象 } return user; } /* * 检测用户是否已存在 */ @Override public boolean checkUserIsExit(String name) { try { ResultSet rs = con.query("select * from users where u_name=? ", new String[] { name}); if(rs.next()) return true; else return false; } catch (Exception e) { e.printStackTrace(); return false; } } @Override public boolean checkNameAndPwd(String name, String password) { try { ResultSet rs = con.query("select * from users where u_name=? and u_pwd=? ", new String[] { name,password}); if(rs.next()) return true; else return false; } catch (Exception e) { e.printStackTrace(); return false; } } /* * 更新用户状态 */ @Override public boolean updateUserState(String name, String state) { int result = 0; try { result = con.update("update users set u_state = ? where u_name = ?",new String[]{state,name}); } catch (Exception e) { e.printStackTrace(); } return result>0; } public void setLastLogin(String name) { String sql="update users set u_last_login=CURRENT_TIMESTAMP where u_name=?"; try { con.update(sql, new String[]{name}); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void setLastExit(String name) { String sql="update users set u_last_exit=CURRENT_TIMESTAMP where u_name=?"; try { con.update(sql, new String[]{name}); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void setUserState(String name,int i) { String sql="update users set u_state=? where u_name=?"; try { con.update(sql, new String[]{String.valueOf(i),name}); } catch (Exception e) { e.printStackTrace(); } } public void setIP(String IP,String name) { String sql="update users set u_ip=? where u_name=?"; try { con.update(sql, new String[]{IP,name}); } catch (Exception e) { e.printStackTrace(); } } }