解决Spring框架的Dao层改用@Repository注解,无法使用JdbcDaoSupport的问题
Alternatively, create an own implementation of
JdbcDaoSupport
class, and do whatever you want. Dive inside the source code ofJdbcDaoSupport
, it’s just a simple helper class to create ajdbcTemplate
.
我创建了一个自己的类,扩展了JdbcDaoSupport类:
package demo1;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
public class JdbcDaoSupportExtend extends JdbcDaoSupport {
@Autowired
private DataSource dataSource;
@PostConstruct
public void initialize() {
setDataSource(dataSource);
}
}
在自己的Dao中继承了这个自己扩展的类:
package demo1;
import org.springframework.stereotype.Repository;
@Repository(value = "userDao")
public class UserDaoImpl extends JdbcDaoSupportExtend implements UserDaoI {
@Override
public void outMoney(Integer id, Double money) {
getJdbcTemplate().update("update user set money = money - ? where id = ?", money, id);
}
@Override
public void inMoney(Integer id, Double money) {
getJdbcTemplate().update("update user set money = money + ? where id = ?", money, id);
}
}