Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package proj.socialNetwork.dao;
- import org.slf4j.LoggerFactory;
- import org.springframework.dao.DataAccessException;
- import org.springframework.jdbc.core.JdbcTemplate;
- import org.springframework.jdbc.core.RowMapper;
- import org.springframework.stereotype.Component;
- import proj.socialNetwork.Person;
- import java.util.List;
- import java.util.Optional;
- import java.util.UUID;
- import java.util.logging.Logger;
- @Component
- public class PersonJdbcDAO implements PersonDAO<Person> {
- private static final Logger log = (Logger) LoggerFactory.getLogger(PersonJdbcDAO.class);
- private JdbcTemplate jdbcTemplate;
- public PersonJdbcDAO(JdbcTemplate jdbcTemplate){
- this.jdbcTemplate = jdbcTemplate;
- }
- RowMapper<Person> rowMapper = (rs, rowNum) -> new Person((UUID) rs.getObject("uuid"),
- rs.getString("login"),
- rs.getString("first_name"),
- rs.getString("last_name"),
- rs.getString("email"),
- rs.getString("gender"),
- rs.getDate("dob"));
- @Override
- public List<Person> list() {
- String sql = "SELECT uuid, login, first_name, last_name, email, gender, dob FROM person";
- return jdbcTemplate.query(sql, rowMapper);
- }
- @Override
- public void create(Person person) {
- String sql = "INSERT INTO person (uuid, login, first_name, last_name, email, gender, dob) VALUES (?,?,?,?,?,?,?)";
- int create = jdbcTemplate.update(
- sql,
- person.generateUuid(),
- person.getLogin(),
- person.getFirstName(),
- person.getLastName(),
- person.getEmail(),
- person.getGender(),
- person.getDob());
- if (create == 1)
- log.info("New person created:" + person.getLogin());
- }
- @Override
- public Optional<Person> get(UUID uuid) {
- String sql = "SELECT login, first_name, last_name, email, gender, dob, uuid FROM person WHERE uuid = ?";
- Person person = null;
- try {
- person = jdbcTemplate.queryForObject(sql, rowMapper, uuid);
- } catch (DataAccessException e) {
- log.info("Person is not found:" + uuid);
- }
- return Optional.ofNullable(person);
- }
- @Override
- public void update(Person person, UUID uuid) {
- String sql = "UPDATE person SET login = ?, first_name = ?, last_name = ?, email = ?, gender = ?, dob = ?, where uuid = ?";
- int update = jdbcTemplate.update(sql, uuid,
- person.getLogin(),
- person.getFirstName(),
- person.getLastName(),
- person.getEmail(),
- person.getGender(),
- person.getDob());
- if (update == 1)
- log.info("Person updated:" + person.getLogin());
- }
- @Override
- public void delete(UUID uuid) {
- String sql = "DELETE FROM person WHERE uuid = ?";
- jdbcTemplate.update(sql, uuid);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement