1 packageentity;2
3 importjava.sql.Connection;4 importjava.sql.ResultSet;5 importjava.sql.SQLException;6 importjava.sql.Statement;7 importjava.util.HashMap;8
9 importdb.DBBean;10
11 public classUserMgr {12
13 private HashMapuserList;14
15 publicUserMgr() {16 super();17 }18
19 /**
20 * 得到所有用户的列表21 *22 *@return
23 */
24
25
26 //查询:传入查询条件,返回一个对象结果集。(如查询所有用户)
27 publicHashMap getUserList() {28 HashMap userList = newHashMap();29 Connection conn = null;30 Statement stmt = null;31 ResultSet rset = null;32 User user = null;33 try{34 conn =DBBean.getConnection();35 String sql = "select * from Table_user";36 stmt =conn.createStatement();37 rset =stmt.executeQuery(sql);38 while(rset.next()) {39 user = new User(rset.getString("username"), "888888",40 rset.getString("realname"), rset.getInt("userType"),41 rset.getInt("sex"));42
43 userList.put(rset.getString("username"), user);44 }45
46 } catch(SQLException e) {47 //TODO Auto-generated catch block
48 e.printStackTrace();49
50 } finally{51 try{52 rset.close();53 stmt.close();54 conn.close();55 } catch(Exception e) {56 e.printStackTrace();57 }58 }59 returnuserList;60 }61
62
63
64
65
66 //插入:传入user对象,插入user对象的所有信息。67 //因为数据库中主键不能重复,因此可能插入失败。(必须为新用户)
68 public intaddUser(User newUser) {69 int result = 0; //70 if(findUser(newUser)) {71 result = 1; //72 } else{73 String sql = "insert into Table_user(username,password,realname,userType,sex)values('"
74 +newUser.getUsername()75 + "','"
76 +newUser.getPassword()77 + "','"
78 +newUser.getRealname()79 + "','"
80 + newUser.getUserType() + "','" + newUser.getSex() + "')";81
82 if(DBBean.update(sql)) {83 result = 2; //84 }85 }86 returnresult;87 }88
89
90
91 public booleanfindUser(User user) {92 boolean result = false;93 String sql = "select * from Table_user where username=('"
94 + user.getUsername() + "')";95 result =DBBean.hasRecord(sql);96 returnresult;97 }98
99
100 //删除:传入删除条件,传出删除是否成功信息
101 public booleandeleteUser(String username) {102 boolean result = false;103 String sql = "delete from Table_user where username=('" +username104 + "')";105 result =DBBean.delete(sql);106 System.out.println("delete user:" +sql);107 returnresult;108 }109
110
111 //查询:如果是通过主键找唯一对象,则返回对象。(如通过user_id找唯一用户)112 //判断:本函数也可用来判断是否已经存在此对象。
113 publicUser getUser(String username) {114 String sql = "select * from Table_user where username=('" +username115 + "')";116 User user = null;117 Connection conn = null;118 Statement stmt = null;119 ResultSet rset = null;120
121 try{122 conn =DBBean.getConnection();123 stmt =conn.createStatement();124 rset =stmt.executeQuery(sql);125 int i = 0;126 while(rset.next()) {127 user = new User(rset.getString("username"),128 rset.getString("password"), rset.getString("realname"),129 rset.getInt("userType"), rset.getInt("sex"));130
131 }132
133 } catch(SQLException e) {134 e.printStackTrace();135
136 } finally{137 DBBean.clean(conn, stmt, rset);138 }139 returnuser;140 }141
142
143
144
145 public inteditUser(User user) {146 int result = 1;147 String sql = "update Table_user set username ='" +user.getUsername()148 + "',realname='" + user.getRealname() + "',userType='"
149 + user.getUserType() + "' " + "where username=('"
150 + user.getUsername() + "')";151 //System.out.println("edit user:" + sql);
152 if(DBBean.update(sql)) {153 result = 2;154 }155 returnresult;156 }157
158
159 //判断:结果集是否为空,从而判断是否满足给定条件。
160 public intverifyUser(String username, String password) {161 Connection conn = null;162 Statement stmt = null;163 ResultSet rset = null;164 int result = -1;//用户名密码不对
165 try{166 conn =DBBean.getConnection();167 String sql = "select * from table_user where username='" +username168 + "' and password='" + password + "'";169 stmt =conn.createStatement();170 rset =stmt.executeQuery(sql);171 if(rset.next()) {172 result = rset.getInt("userType");173 System.out.println("user type: " +result);174 }175 } catch(SQLException e) {176 System.out.println("SQLException inside verify user");177 e.printStackTrace();178
179 } finally{180 try{181 rset.close();182 stmt.close();183 conn.close();184 } catch(Exception e) {185 e.printStackTrace();186 }187 }188 returnresult;189 }190
191 }