Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. package com.epam.repository;
  2.  
  3. import com.epam.ObjectMapper;
  4. import com.epam.exceptions.UserAlreadyCreatedException;
  5. import com.epam.exceptions.UserNotFoundException;
  6. import com.epam.model.User;
  7. import org.apache.logging.log4j.LogManager;
  8. import org.apache.logging.log4j.Logger;
  9. import org.springframework.dao.EmptyResultDataAccessException;
  10. import org.springframework.jdbc.core.JdbcTemplate;
  11. import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
  12. import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
  13. import org.springframework.jdbc.core.namedparam.SqlParameterSource;
  14.  
  15. import javax.sql.DataSource;
  16.  
  17. import java.sql.SQLException;
  18. import java.util.List;
  19.  
  20.  
  21. public class UserDaoImpl implements UserDao {
  22. private static Logger log = LogManager.getLogger(UserDaoImpl.class.getName());
  23. private NamedParameterJdbcTemplate jdbcTemplateObject;
  24.  
  25. public void setDataSource(DataSource dataSource) {
  26. this.jdbcTemplateObject = new NamedParameterJdbcTemplate(dataSource);
  27. }
  28.  
  29.  
  30. @Override
  31. public User getUser(Integer id) {
  32. // try {
  33. // String SQL = "select * from User where USER_ID = ?";
  34. // User user = jdbcTemplateObject.queryForObject(SQL,
  35. // new Object[]{id}, new ObjectMapper.RowMapperUser());
  36. // log.warn(user.toString());
  37. // return user;
  38. // } catch (EmptyResultDataAccessException e) {
  39. // log.error(e);
  40. // throw new UserNotFoundException(" No such user in database");
  41. // }
  42.  
  43.  
  44. SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("id", id);
  45. User user = jdbcTemplateObject.queryForObject("SELECT USER_NAME FROM EMPLOYEE WHERE USER_ID = :id", namedParameters, User.class);
  46. return user;
  47. }
  48.  
  49.  
  50. @Override
  51. public List<User> getAllUsers() {
  52. String SQL = "select * from User";
  53. List<User> usersList = jdbcTemplateObject.query(SQL, new ObjectMapper.RowMapperUser());
  54. for (User user : usersList) {
  55. log.warn(user.toString());
  56. }
  57. return usersList;
  58. }
  59.  
  60. @Override
  61. public User deleteUser(Integer id) {
  62. try {
  63. String sql = "SELECT * FROM USER WHERE USER_ID = ?";
  64. User deletedUser = jdbcTemplateObject.queryForObject(
  65. sql, new Object[]{id},
  66. new ObjectMapper.RowMapperUser());
  67.  
  68. String SQL = "DELETE FROM USER WHERE USER_ID = ?";
  69. jdbcTemplateObject.update(SQL, id);
  70. log.warn(deletedUser.toString());
  71. return deletedUser;
  72.  
  73. } catch (EmptyResultDataAccessException e) {
  74. log.error(e);
  75. throw new UserNotFoundException(" There is not suck user ind Database");
  76. }
  77. }
  78.  
  79. @Override
  80. public User updateUser(User user) throws SQLException {
  81.  
  82. try {
  83. getUser(user.getId());
  84. String password = user.getPassword();
  85. String name = user.getName();
  86. String mail = user.getMail();
  87. Integer id = user.getId();
  88.  
  89. Object[] objects = {password, name, mail, id};
  90. String sqlStatement = "UPDATE USER SET USER_NAME = ?, USER_MAIL=? ,USER_PASSWORD = ? WHERE USER_ID =?";
  91. jdbcTemplateObject.update(sqlStatement, objects);
  92.  
  93. log.warn(user.toString());
  94. } catch (EmptyResultDataAccessException e) {
  95. log.error(e);
  96. throw new UserNotFoundException("No such user in Database");
  97. }
  98.  
  99.  
  100. return user;
  101. }
  102.  
  103. @Override
  104. public User getUserByEmail(String mail) {
  105. try {
  106. String SQL = "select * from User where USER_MAIL = ?";
  107. User user = jdbcTemplateObject.queryForObject(SQL,
  108. new Object[]{mail}, new ObjectMapper.RowMapperUser());
  109. log.warn(mail);
  110. return user;
  111. } catch (EmptyResultDataAccessException e) {
  112. log.error(e);
  113. throw new UserNotFoundException(" No such user in database");
  114. }
  115. }
  116.  
  117.  
  118. // Done
  119. @Override
  120. public User createUser(User user) {
  121. boolean flag = true;
  122.  
  123. try {
  124. String sqlFind = "select * from User where USER_MAIL = ?";
  125. jdbcTemplateObject.queryForObject(
  126. sqlFind, new Object[]{user.getMail()},
  127. new ObjectMapper.RowMapperUser());
  128.  
  129. } catch (EmptyResultDataAccessException e) {
  130. String name = user.getName();
  131. String mail = user.getMail();
  132. String password = user.getPassword();
  133. String role = user.getRole();
  134. String SQL = "insert into User (user_name, user_mail, user_role, user_password) values (?, ?, ?, ? )";
  135. jdbcTemplateObject.update(SQL, name, mail, role, password);
  136. log.warn(user.toString());
  137. flag = false;
  138. } finally {
  139. if (flag) {
  140. log.error(" User already in database");
  141. throw new UserAlreadyCreatedException(" User already in database");
  142. }
  143. }
  144. return null;
  145. }
  146.  
  147.  
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement