Guest User

Untitled

a guest
Nov 19th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. package test;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.util.ArrayList;
  8.  
  9. public class User {
  10. private int id;
  11. private String username;
  12. private String password;
  13. private String email;
  14.  
  15. public User() {}
  16.  
  17. public User(String username, String email, String password) {
  18. this.username = username;
  19. this.email = email;
  20. this.setPassword(password);
  21. }
  22.  
  23. public String getEmail() {
  24. return this.email;
  25. }
  26.  
  27. public void setEmail(String email) {
  28. this.email = email;
  29. }
  30.  
  31. public int getId() {
  32. return this.id;
  33. }
  34.  
  35. public String getUsername() {
  36. return this.username;
  37. }
  38.  
  39. public void setUsername(String username) {
  40. this.username = username;
  41. }
  42.  
  43. public String getPassword() {
  44. return this.password;
  45. }
  46.  
  47. public void setPassword(String password) {
  48. this.password = BCrypt.hashpw(password, BCrypt.gensalt());
  49. }
  50.  
  51. public void saveToDB(Connection conn) throws SQLException {
  52. if (this.id == 0) {
  53. String sql = "INSERT INTO users(username, email, password) VALUES (?, ?, ?)";
  54. String generatedColumns[] = { "ID" };
  55. PreparedStatement preparedStatement;
  56. preparedStatement = conn.prepareStatement(sql, generatedColumns);
  57. preparedStatement.setString(1, this.username);
  58. preparedStatement.setString(2, this.email);
  59. preparedStatement.setString(3, this.password);
  60. preparedStatement.executeUpdate();
  61. ResultSet rs = preparedStatement.getGeneratedKeys();
  62. if (rs.next()) {
  63. this.id = rs.getInt(1);
  64. }
  65. } else {
  66. String sql = "UPDATE users SET username=?, email=?, password=? where id = ?";
  67. PreparedStatement preparedStatement;
  68. preparedStatement = conn.prepareStatement(sql);
  69. preparedStatement.setString(1, this.username);
  70. preparedStatement.setString(2, this.email);
  71. preparedStatement.setString(3, this.password);
  72. preparedStatement.setInt(4, this.id);
  73. preparedStatement.executeUpdate();
  74. }
  75. }
  76.  
  77. static public User loadUserById(Connection conn, int id) throws SQLException {
  78. String sql = "SELECT * FROM users where id=?";
  79. PreparedStatement preparedStatement;
  80. preparedStatement = conn.prepareStatement(sql);
  81. preparedStatement.setInt(1, id);
  82. ResultSet resultSet = preparedStatement.executeQuery();
  83. if (resultSet.next()) {
  84. User loadedUser = new User();
  85. loadedUser.id = resultSet.getInt("id");
  86. loadedUser.username = resultSet.getString("username");
  87. loadedUser.password = resultSet.getString("password");
  88. loadedUser.email = resultSet.getString("email");
  89. return loadedUser;
  90. }
  91. return null;
  92. }
  93.  
  94. static public User[] loadAllUsers(Connection conn) throws SQLException {
  95. ArrayList<User> users = new ArrayList<User>();
  96. String sql = "SELECT * FROM users"; PreparedStatement preparedStatement;
  97. preparedStatement = conn.prepareStatement(sql);
  98. ResultSet resultSet = preparedStatement.executeQuery();
  99. while (resultSet.next()) {
  100. User loadedUser = new User();
  101. loadedUser.id = resultSet.getInt("id");
  102. loadedUser.username = resultSet.getString("username");
  103. loadedUser.password = resultSet.getString("password");
  104. loadedUser.email = resultSet.getString("email");
  105. users.add(loadedUser);
  106. }
  107. User[] uArray = new User[users.size()]; uArray = users.toArray(uArray);
  108. return uArray;
  109. }
  110.  
  111. public void delete(Connection conn) throws SQLException {
  112. if (this.id != 0) {
  113. String sql = "DELETE FROM users WHERE id= ?";
  114. PreparedStatement preparedStatement;
  115. preparedStatement = conn.prepareStatement(sql);
  116. preparedStatement.setInt(1, this.id);
  117. preparedStatement.executeUpdate();
  118. this.id=0;
  119. }
  120. }
  121.  
  122.  
  123. }
Add Comment
Please, Sign In to add comment