четверг, 21 июня 2018 г.

Spring - класс JdbcDaoSupport и паттерн DAO

Паттерн DAO - Data Access Object - очень коротко - это когда все методы доступа к данным вы собираете (инкапсулируете) в одном классе.
Класс JdbcDaoSupport является оболочкой для JdbcTemplate и позволяет удобно делать свои DAO расширяя класс JdbcDaoSupport - при этом в нашем классе для работы необходимо только указать через конструктор реализацию DataSource при создании экземпляра нашего DAO. Напишем свой класс DaoJDBC который расширяет класс JdbcDaoSupport и сделаем внедрение через конструктор бина, реализующего DataSource:

@Repository
public class DaoJDBC extends JdbcDaoSupport {
   
    @Inject   // или @Autowired
    public DaoJDBC(DataSource dataSource) {
        this.setDataSource(dataSource);
    }

    public void clearAll() {
        String sql = "delete from hosts";
        this.getJdbcTemplate().update(sql);
    }
.................// + другие операции с базой
}
при этом экземпляр JdbcTemplate будет создан автоматически и будет доступен из нашего DAO через this.getJdbcTemplate() - дальше в классе DaoJDBC нам доступен весь инструментарий JdbcTemplate через this.getJdbcTemplate().

Комментариев нет:

Отправить комментарий

Взаимодействие между приложениями и Watch Service

Взаимодействие между разными приложениями Java можно сделать с помощью файловой системы, базы данных и JMS. Рассмотрим случай ФС - в Java ...