User.java
上传用户:lsj999sz
上传日期:2022-06-15
资源大小:4717k
文件大小:7k
源码类别:

ICQ/即时通讯

开发平台:

Java

  1. package com.bjsxt.shopping.user;
  2. import java.sql.Connection;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.sql.Timestamp;
  8. import java.util.ArrayList;
  9. import java.util.Date;
  10. import java.util.List;
  11. import com.bjsxt.shopping.client.Cart;
  12. import com.bjsxt.shopping.client.CartItem;
  13. import com.bjsxt.shopping.order.OrderMgr;
  14. import com.bjsxt.shopping.order.SalesItem;
  15. import com.bjsxt.shopping.order.SalesOrder;
  16. import com.bjsxt.shopping.util.DB;
  17. public class User {
  18. private int id;
  19. private String username;
  20. private String password;
  21. private String phone;
  22. private String addr;
  23. private Date rdate;
  24. public String getAddr() {
  25. return addr;
  26. }
  27. public void setAddr(String addr) {
  28. this.addr = addr;
  29. }
  30. public int getId() {
  31. return id;
  32. }
  33. public void setId(int id) {
  34. this.id = id;
  35. }
  36. public String getPassword() {
  37. return password;
  38. }
  39. public void setPassword(String password) {
  40. this.password = password;
  41. }
  42. public String getPhone() {
  43. return phone;
  44. }
  45. public void setPhone(String phone) {
  46. this.phone = phone;
  47. }
  48. public Date getRdate() {
  49. return rdate;
  50. }
  51. public void setRdate(Date rdate) {
  52. this.rdate = rdate;
  53. }
  54. public String getUsername() {
  55. return username;
  56. }
  57. public void setUsername(String username) {
  58. this.username = username;
  59. }
  60. public void save() {
  61. Connection conn = DB.getConn();
  62. String sql = "insert into user values (null, ?, ?, ?, ?, ?)";
  63. PreparedStatement pstmt = DB.prepare(conn, sql);
  64. try {
  65. pstmt.setString(1, username);
  66. pstmt.setString(2, password);
  67. pstmt.setString(3, phone);
  68. pstmt.setString(4, addr);
  69. pstmt.setTimestamp(5, new Timestamp(rdate.getTime()));
  70. pstmt.executeUpdate();
  71. } catch (SQLException e) {
  72. e.printStackTrace();
  73. } finally {
  74. DB.close(pstmt);
  75. DB.close(conn);
  76. }
  77. }
  78. public static List<User> getUsers() {
  79. List<User> users = new ArrayList<User>();
  80. Connection conn = DB.getConn();
  81. String sql = "select * from user";
  82. Statement stmt = DB.getStatement(conn);
  83. ResultSet rs = DB.getResultSet(stmt, sql);
  84. try {
  85. while (rs.next()) {
  86. User u = new User();
  87. u.setId(rs.getInt("id"));
  88. u.setUsername(rs.getString("username"));
  89. u.setPassword(rs.getString("password"));
  90. u.setPhone(rs.getString("phone"));
  91. u.setAddr(rs.getString("addr"));
  92. u.setRdate(rs.getTimestamp("rdate"));
  93. users.add(u);
  94. }
  95. } catch (SQLException e) {
  96. e.printStackTrace();
  97. } finally {
  98. DB.close(rs);
  99. DB.close(stmt);
  100. DB.close(conn);
  101. }
  102. return users;
  103. }
  104. /**
  105.  * 
  106.  * @param users
  107.  * @param pageNo
  108.  * @param pageSize
  109.  * @return 总共有多少条记录
  110.  */
  111. public static int getUsers(List<User> users, int pageNo, int pageSize) {
  112. int totalRecords = -1;
  113. Connection conn = DB.getConn();
  114. String sql = "select * from user limit " + (pageNo - 1) * pageSize
  115. + "," + pageSize;
  116. Statement stmt = DB.getStatement(conn);
  117. ResultSet rs = DB.getResultSet(stmt, sql);
  118. Statement stmtCount = DB.getStatement(conn);
  119. ResultSet rsCount = DB.getResultSet(stmtCount,
  120. "select count(*) from user");
  121. try {
  122. rsCount.next();
  123. totalRecords = rsCount.getInt(1);
  124. while (rs.next()) {
  125. User u = new User();
  126. u.setId(rs.getInt("id"));
  127. u.setUsername(rs.getString("username"));
  128. u.setPassword(rs.getString("password"));
  129. u.setPhone(rs.getString("phone"));
  130. u.setAddr(rs.getString("addr"));
  131. u.setRdate(rs.getTimestamp("rdate"));
  132. users.add(u);
  133. }
  134. } catch (SQLException e) {
  135. e.printStackTrace();
  136. } finally {
  137. DB.close(rsCount);
  138. DB.close(stmtCount);
  139. DB.close(rs);
  140. DB.close(stmt);
  141. DB.close(conn);
  142. }
  143. return totalRecords;
  144. }
  145. public static boolean delete(int id) {
  146. boolean b = false;
  147. Connection conn = DB.getConn();
  148. String sql = "delete from user where id = " + id;
  149. Statement stmt = DB.getStatement(conn);
  150. try {
  151. DB.executeUpdate(stmt, sql);
  152. b = true;
  153. } finally {
  154. DB.close(stmt);
  155. DB.close(conn);
  156. }
  157. return b;
  158. }
  159. public static User check(String username, String password)
  160. throws UserNotFoundException, PasswordNotCorrectException {
  161. User u = null;
  162. Connection conn = DB.getConn();
  163. String sql = "select * from user where username = '" + username + "'";
  164. Statement stmt = DB.getStatement(conn);
  165. ResultSet rs = DB.getResultSet(stmt, sql);
  166. try {
  167. if(!rs.next()) {
  168. throw new UserNotFoundException("用户不存在:" + username);
  169. } else {
  170. if(!password.equals(rs.getString("password"))) {
  171. throw new PasswordNotCorrectException("密码不正确哦!");
  172. }
  173. u = new User();
  174. u.setId(rs.getInt("id"));
  175. u.setUsername(rs.getString("username"));
  176. u.setPassword(rs.getString("password"));
  177. u.setPhone(rs.getString("phone"));
  178. u.setAddr(rs.getString("addr"));
  179. u.setRdate(rs.getTimestamp("rdate"));
  180. }
  181. } catch (SQLException e) {
  182. e.printStackTrace();
  183. } finally {
  184. DB.close(rs);
  185. DB.close(stmt);
  186. DB.close(conn);
  187. }
  188. return u;
  189. }
  190. public static void update(User u) {
  191. u.update();
  192. }
  193. public void updatePassword() {
  194. }
  195. public static void updatePassword(User u) {
  196. u.updatePassword();
  197. }
  198. public static void updatePassword(int userId, String newPassword) {
  199. }
  200. public void update() {
  201. Connection conn = DB.getConn();
  202. String sql = "update user set phone = ?, addr = ? where id = ?";
  203. PreparedStatement pstmt = DB.prepare(conn, sql);
  204. try {
  205. pstmt.setString(1, phone);
  206. pstmt.setString(2, addr);
  207. pstmt.setInt(3, id);
  208. pstmt.executeUpdate();
  209. } catch (SQLException e) {
  210. e.printStackTrace();
  211. } finally {
  212. DB.close(pstmt);
  213. DB.close(conn);
  214. }
  215. }
  216. public static void main(String[] args) {
  217. List<User> users = new ArrayList<User>();
  218. int totalRecords = User.getUsers(users, 1, 10);
  219. for (int i = 0; i < users.size(); i++) {
  220. }
  221. }
  222. public int buy(Cart c) {
  223. SalesOrder so = new SalesOrder();
  224. so.setUser(this);
  225. so.setAddr(this.getAddr());
  226. so.setStatus(0);
  227. so.setODate(new Date());
  228. List<SalesItem> salesItems = new ArrayList<SalesItem>();
  229. List<CartItem> cartItems = c.getItems();
  230. for(int i=0; i<cartItems.size(); i++) {
  231. SalesItem si = new SalesItem();
  232. CartItem ci = cartItems.get(i);
  233. si.setProduct(ci.getProduct());
  234. si.setCount(ci.getCount());
  235. si.setUnitPrice(ci.getProduct().getMemberPrice());
  236. salesItems.add(si);
  237. }
  238. so.setItems(salesItems);
  239. return OrderMgr.getInstance().add(so); 
  240. }
  241. }