Весной я перехожу из режима гибернации к jdbctemplate, и мне нужны некоторые указания.
Я собираюсь создать UserDao
, а затем UserDaoImpl
.
В моемФайл servlet.xml Я создал свой компонент источника данных.
Сейчас я читаю это: http://static.springsource.org/spring/docs/2.0.x/reference/jdbc.html
Он говорит, что у него есть приватный метод:
private JdbcTemplate jdbcTemplate;
Итак, могу ли я создать свой UserDaoImpl следующим образом:
public class UserDaoImpl implements UserDao {
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
}
- Нужен ли мне там установленный источник данных?Или я могу использовать какую-то аннотацию?
- Могу ли я переместить этот код в базовый класс, такой как GenericDao / GenericDaoImpl?(если это так, могу ли я сохранить jdbcTempalte как частную или защищенную?
С помощью hibernate я смог добавить базовые запросы в свой базовый класс с использованием обобщенных шаблонов, полагаю, я не могу сделать это с помощьюjdbc, поскольку на самом деле ничего не отображается на мои сущности правильно?
update
Итак, мой GenericDaoImpl выглядит так:
public class GenericDaoImpl<T> extends JdbcDaoSupport implements GenericDao<T> {
private JdbcTemplate jdbcTemplate;
}
Тогда мой UserDaoImpl выглядит следующим образом:
@Repository
public class UserDaoImpl extends GenericDaoImpl<User> implements UserDao {
}
- Я не могу сейчас использовать this.jdbcTemplate в своих методах? Что мне делать?
- В моем GenericDaoImpl у меня может быть setDataSource, так как он помечен как финальныйот JdbcDaoSupport.
Как мне autowire источник данных сейчас?