本人由于需要大量用到复杂SQL进行查询统计,JPA标准方式不满足情况,需要用到Dao,初易用遇到了大家常见的:
‘dataSource‘ or ‘jdbcTemplate‘ is required,
在网上找了很多解决方式都是通过XML方式增加配置解决,有工程了全部采用注解,尽量不引入XML配置,这里查阅相关资料给出一种通过注解方式解决的方案
@Repository public class CollectionCarDaoImpl extends JdbcDaoSupport implements CollectionCarDao { private static Logger logger = LoggerFactory.getLogger(SampleDaoImpl.class); /** * 注入实体管理,需要在WebConfig中通过注解配置 */ @PersistenceContext private EntityManager em; public void setEntityManager(EntityManager entityManager) { this.em = entityManager; } /** * 注入dataSource,需要在WebConfig中通过注解配置 */ @Autowired private DataSource dataSource; /** * 初始化时,设置给父类 */ @PostConstruct private void initialize() { setDataSource(dataSource); }
需要支持@PostConstruct注解
该问题主要比较难解决是因为JdbcDaoSupport限制复写几个关键方法导致,因此系统该思路通过变通方式决绝
'dataSource' or 'jdbcTemplate' is required 通过注解的解决方法
时间: 2024-10-07 06:00:05