spring+ibatis的公有DAO
来源:互联网 发布:复制网页文字软件 编辑:程序博客网 时间:2024/04/28 04:25
这里用到的配置在这篇http://blog.csdn.net/sskicgah/article/details/11651877里,这个公有的DAO也很简单,主要是继承了spring的SqlMapClientDaoSupport
public class BaseDao extends SqlMapClientDaoSupport { @Resource(name = "sqlMapClient") private SqlMapClient sqlMapClient; @PostConstruct public void initSqlMapClient() { super.setSqlMapClient(sqlMapClient); }}
下面是一个使用的例子,这里用到的是ibatis2.X的版本,不是mybatis3.X的版本
@Service("TestDaoImpl")public class TestInfoDaoImpl extends BaseDao implements TestDao { public void deleteTestInfo(Map<String, Object> index) { this.getSqlMapClientTemplate().delete("deleteTestInfo", index); } public void insertTestInfo(TestInfo instance) { this.getSqlMapClientTemplate().insert("insertTestInfo", instance); } public List selectTestInfos(Map<String, Object> index) { return this.getSqlMapClientTemplate().queryForList("selectTestInfos", index); } // 查询条数 public int selectTestInfosCount(<String, Object> index) { return (Integer) this.getSqlMapClientTemplate().queryForObject( "selectTestInfosCount", index); } public void updateTestInfo(Map<String, Object> index) { this.getSqlMapClientTemplate().update("updateTestInfo", index); } // ibatis自带的分页,查出结果集后再截取需要的记录 public List selectTestInfos(Map<String, Object> index, int startrow, int pagesize) { return this.getSqlMapClientTemplate().queryForList("selectTestInfos", index, startrow, pagesize); } // 批量删除,批量操作,只要把executor.delete("deleteTestInfo", locallist.get(i))换为对应的写法就可以了。 // 比如executor.insert("insertTestInfo", locallist.get(i))就是批量插入了。 public void deleteTestInfos(List<Map<String, Object>> indexs) { final List<Map<String, Object>> locallist = indexs; getSqlMapClientTemplate().execute(new SqlMapClientCallback<Object>() { public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException { executor.startBatch(); for (int i = 0, count = locallist.size(); i < count; i++) { executor.delete("deleteTestInfo", locallist.get(i)); if ((i + 1) % Constants.BATCH_DEAL_NUM == 0) { // 分批Batch,Constants.BATCH_DEAL_NUM为批量提交的条数 executor.executeBatch(); executor.startBatch(); } } executor.executeBatch(); return null; } }); }}
- spring+ibatis的公有DAO
- iBATIS&Spring合奏(一)--DAO
- spring配置ibatis直至dao层
- Spring和ibatis之间的十种常用的dao注入方式
- ibatis dao
- 关于ibatis的dao实现笔记
- iBatis.Net的dao.config文件
- ibatis+springmvc的dao实现+配置文件
- ibatis + spring 的错误
- ibatis学习---ibatis与spring的整合
- ibatis(学习2)-- spring + ibatis的事务管理
- Spring的DAO学习笔记
- spring对DAO的支持
- spring对DAO的支持
- spring对DAO的支持
- Spring提供的DAO支持
- spring+mybatis的公用DAO
- spring的DAO编程(jdbc)
- 大数据应用之HBase数据插入性能优化实测教程
- EXT---小结
- js基础部分的一部分小例子
- Chinneck 的文章
- 用OpenCL实现HEVC中ME模块的测试数据分析
- spring+ibatis的公有DAO
- php RabbitMQ消息队列
- 通信协议的解析:字节流协议的解析
- SQL Server 触发器
- 数据完整性的设计
- 你知道数据库索引的工作原理吗?
- spring3.x和mybatis3.x SQL日志打印问题
- 理解JS中 ===和!==运算符
- 客户端使用C 写的,,,服务器端用java 这样写怎么得不到值???