Advertisement
daegron

PersonJdbcDAO

Nov 30th, 2021
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 KB | None | 0 0
  1. package proj.socialNetwork.dao;
  2.  
  3. import org.slf4j.LoggerFactory;
  4. import org.springframework.dao.DataAccessException;
  5. import org.springframework.jdbc.core.JdbcTemplate;
  6. import org.springframework.jdbc.core.RowMapper;
  7. import org.springframework.stereotype.Component;
  8. import proj.socialNetwork.Person;
  9.  
  10. import java.util.List;
  11. import java.util.Optional;
  12. import java.util.UUID;
  13. import java.util.logging.Logger;
  14.  
  15. @Component
  16. public class PersonJdbcDAO implements PersonDAO<Person> {
  17.  
  18.     private static final Logger log = (Logger) LoggerFactory.getLogger(PersonJdbcDAO.class);
  19.     private JdbcTemplate jdbcTemplate;
  20.  
  21.     public PersonJdbcDAO(JdbcTemplate jdbcTemplate){
  22.         this.jdbcTemplate = jdbcTemplate;
  23.     }
  24.  
  25.     RowMapper<Person> rowMapper = (rs, rowNum) -> new Person((UUID) rs.getObject("uuid"),
  26.             rs.getString("login"),
  27.             rs.getString("first_name"),
  28.             rs.getString("last_name"),
  29.             rs.getString("email"),
  30.             rs.getString("gender"),
  31.             rs.getDate("dob"));
  32.  
  33.     @Override
  34.     public List<Person> list() {
  35.         String sql = "SELECT uuid, login, first_name, last_name, email, gender, dob FROM person";
  36.         return jdbcTemplate.query(sql, rowMapper);
  37.     }
  38.  
  39.     @Override
  40.     public void create(Person person) {
  41.         String sql = "INSERT INTO person (uuid, login, first_name, last_name, email, gender, dob) VALUES (?,?,?,?,?,?,?)";
  42.         int create = jdbcTemplate.update(
  43.                 sql,
  44.                 person.generateUuid(),
  45.                 person.getLogin(),
  46.                 person.getFirstName(),
  47.                 person.getLastName(),
  48.                 person.getEmail(),
  49.                 person.getGender(),
  50.                 person.getDob());
  51.  
  52.         if (create == 1)
  53.             log.info("New person created:" + person.getLogin());
  54.     }
  55.  
  56.     @Override
  57.     public Optional<Person> get(UUID uuid) {
  58.         String sql = "SELECT login, first_name, last_name, email, gender, dob, uuid FROM person WHERE uuid = ?";
  59.         Person person = null;
  60.         try {
  61.             person = jdbcTemplate.queryForObject(sql, rowMapper, uuid);
  62.         } catch (DataAccessException e) {
  63.             log.info("Person is not found:" + uuid);
  64.         }
  65.         return Optional.ofNullable(person);
  66.     }
  67.  
  68.     @Override
  69.     public void update(Person person, UUID uuid) {
  70.         String sql = "UPDATE person SET login = ?, first_name = ?, last_name = ?, email = ?, gender = ?, dob = ?, where uuid = ?";
  71.         int update = jdbcTemplate.update(sql, uuid,
  72.                 person.getLogin(),
  73.                 person.getFirstName(),
  74.                 person.getLastName(),
  75.                 person.getEmail(),
  76.                 person.getGender(),
  77.                 person.getDob());
  78.         if (update == 1)
  79.             log.info("Person updated:" + person.getLogin());
  80.     }
  81.  
  82.     @Override
  83.     public void delete(UUID uuid) {
  84.         String sql = "DELETE FROM person WHERE uuid = ?";
  85.         jdbcTemplate.update(sql, uuid);
  86.     }
  87. }
  88.  
  89.  
  90.  
  91.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement