package com.matrix.core.simpleDao;
|
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.apache.ibatis.session.ExecutorType;
|
import org.apache.ibatis.session.SqlSession;
|
import org.apache.ibatis.session.SqlSessionFactory;
|
import org.mybatis.spring.SqlSessionTemplate;
|
import org.springframework.stereotype.Repository;
|
|
public class DaoSupport implements DAO {
|
|
@Resource(name = "sqlSessionTemplate")
|
private SqlSessionTemplate sqlSessionTemplate;
|
|
/**
|
* 保存对象
|
* @param str
|
* @param obj
|
* @return
|
* @
|
*/
|
public Object save(String str, Object obj){
|
return sqlSessionTemplate.insert(str, obj);
|
}
|
|
/**
|
* 批量更新
|
* @param str
|
* @param obj
|
* @return
|
* @
|
*/
|
public Object batchSave(String str, List<Object> objs ){
|
return sqlSessionTemplate.insert(str, objs);
|
}
|
|
/**
|
* 修改对象
|
* @param str
|
* @param obj
|
* @return
|
* @
|
*/
|
public Object update(String str, Object obj) {
|
return sqlSessionTemplate.update(str, obj);
|
}
|
|
/**
|
* 批量更新
|
* @param str
|
* @param obj
|
* @return
|
* @
|
*/
|
public void batchUpdate(String str, List<Object> objs ){
|
SqlSessionFactory sqlSessionFactory = sqlSessionTemplate.getSqlSessionFactory();
|
//批量执行器
|
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH,false);
|
try{
|
if(objs!=null){
|
for(int i=0,size=objs.size();i<size;i++){
|
sqlSession.update(str, objs.get(i));
|
}
|
sqlSession.flushStatements();
|
sqlSession.commit();
|
sqlSession.clearCache();
|
}
|
}finally{
|
sqlSession.close();
|
}
|
}
|
|
/**
|
* 批量更新
|
* @param str
|
* @param obj
|
* @return
|
* @
|
*/
|
public Object batchDelete(String str, List<Object> objs ){
|
return sqlSessionTemplate.delete(str, objs);
|
}
|
|
/**
|
* 删除对象
|
* @param str
|
* @param obj
|
* @return
|
* @
|
*/
|
public Object delete(String str, Object obj) {
|
return sqlSessionTemplate.delete(str, obj);
|
}
|
|
/**
|
* 查找对象
|
* @param str
|
* @param obj
|
* @return
|
* @
|
*/
|
public Object findForObject(String str, Object obj) {
|
return sqlSessionTemplate.selectOne(str, obj);
|
}
|
|
/**
|
* 查找对象
|
* @param str
|
* @param obj
|
* @return
|
* @
|
*/
|
public List<Object> findForList(String str, Object obj) {
|
return sqlSessionTemplate.selectList(str, obj);
|
}
|
|
public Object findForMap(String str, Object obj, String key, String value) {
|
return sqlSessionTemplate.selectMap(str, obj, key);
|
}
|
|
}
|