mybatis 使用
继承spring的SqlSessionDaoSupport,注入 SqlSessionTemplate, 在xml中定义bean1
2
3
4
5
6
7
8
9
10public class BaseDao extends SqlSessionDaoSupport {
@Resource(name = "sqlSession-touch")
public SqlSessionTemplate sqlSessionTouch;
@PostConstruct
public void initSqlSessionTemplate() {
super.setSqlSessionTemplate(sqlSessionTouch);
}
}
然后继承定义的baseDao,直接使用就可以1
2
3
4
5
6
7
8
9
10
11
12
13
14
15@Repository
public class SubscribeDao extends BaseDao{
public void insertSubscribeRecord(Map args)throws DuplicateKeyException {
sqlSessionTouch.insert("subscribe",args);
}
public boolean hasSubscribed(Map args){
return sqlSessionTouch.selectList("record",args).size() > 0 ? true : false;
}
public List selectListByVid(Map paraMap){
return (List)sqlSessionTouch.selectList("selectListByVid",paraMap);
}
}
我们看一下 定义的bean1
2
3
4
注入 sqlSessionFactory,在sqlSessionFactory 中 加入dataSource 和 mybatis的配置文件1
2
3
4
这块可以优化下,重写一个快速失败的SqlSessionFactory工厂,只需要重写方法 用System.exit 退出就好1
2
3
4
5
6
7
8
9@Override
protected SqlSes