Advertisement
Guest User

Untitled

a guest
May 19th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. package CodersLab.entity;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.util.List;
  9.  
  10. import CodersLab.dao.UserDao;
  11.  
  12. public class MySqlUserDao implements UserDao {
  13.  
  14. private static final String FIND_ALL_USERS = "SELECT * FROM users;";
  15. private static final String INSERT_USER_QUERY = "INSERT INTO users(name, surname, email, password) "
  16. + "VALUES (?, ?, ?, ?);";
  17.  
  18. private final String jdbcUrl;
  19. private final String password;
  20. private final String user;
  21.  
  22. public MySqlUserDao(String jdbcUrl, String password, String user) {
  23. this.jdbcUrl = jdbcUrl;
  24. this.password = password;
  25. this.user = user;
  26. }
  27.  
  28. private Connection createConnection() throws SQLException {
  29. return DriverManager.getConnection(jdbcUrl, user, password);
  30.  
  31. }
  32. @Override
  33. public User insert(User user) {
  34. try (Connection connection = createConnection();
  35. PreparedStatement insertStm = connection.prepareStatement(INSERT_USER_QUERY,
  36. PreparedStatement.RETURN_GENERATED_KEYS)) {
  37. insertStm.setString(1, user.getName());
  38. insertStm.setString(2, user.getSurname());
  39. insertStm.setString(3, user.getEmail());
  40. insertStm.setString(4, user.getPassword());
  41.  
  42. int result = insertStm.executeUpdate();
  43. if (result != 1) {
  44. throw new RuntimeException("Execute updated return " + result);
  45. }
  46.  
  47. try (ResultSet generatedKeys = insertStm.getGeneratedKeys()) {
  48. if (generatedKeys.first()) {
  49. user.setId(generatedKeys.getInt(1));
  50. return user;
  51. } else {
  52. throw new RuntimeException("Generated key was not found");
  53. }
  54. }
  55. } catch (SQLException e) {
  56. throw new RuntimeException(e);
  57. }
  58.  
  59. }
  60.  
  61. @Override
  62. public List<User> findAll() {
  63. return null;
  64. }
  65.  
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement