精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-12-23
json20080301 写道 !!利用SPRING JDBC 和模板框架实现SQL可配置!
入参是Map<String,Object>, 查询返回结果List<Map> 实现功能: 1.主要实现查询功能和SQL可配置化: 2.配置信息可多数据源存储(XML,DATABASE,TXT),可热部署, 3.缓存控制与刷新; 4.物理分页 与MYBATIS比较功能单一了 , 特点:配置信息可多数据源存储(XML,DATABASE,TXT),可热部署; 简单的添加Dialect 的实现类,进行配置就可实现不同数据库的物理分页; 见org.myframework.jdbc.MyBatis /** * 查询所有记录 * * @param mapperId * @param map * @return * @throws Exception */ public List<Map<String, Object>> selectAllList(String sqlKey, Map<String, Object> map) { SqlMapper sqlMapper = sqlTemplate.getSqlMapper(sqlKey); String cacheKey = getCacheKey(sqlKey, map); if (sqlMapper == null) { throw new RuntimeException("load sqlconfig error :" + sqlKey); } if (sqlMapper.isFlushCache()) { dataCache.removeObject(cacheKey); } if (sqlMapper.isUseCache()) { if (dataCache.getObject(cacheKey) != null) { log.debug("load from cacheKey : " + cacheKey); return (List<Map<String, Object>>) dataCache .getObject(cacheKey); } else { log.debug("reload cacheKey : " + cacheKey); List<Map<String, Object>> rs = this.queryForList( sqlTemplate.getSql(sqlKey, map), map); dataCache.putObject(cacheKey, rs); return rs; } } else { List<Map<String, Object>> rs = this.queryForList( sqlTemplate.getSql(sqlKey, map), map); return rs; } } 可加群203431569讨论 查询返回结果List<Map> ,如果我查的数据量超级大,比如100W行。会造成内存溢出不? |
|
返回顶楼 | |
发表时间:2011-12-23
最后修改:2011-12-23
肯定会啊。要分页的嘛。这个问题让我很汗啊;
Dialet中提供了分页方法 |
|
返回顶楼 | |
发表时间:2011-12-26
大哥们,不要动不动就说替代 hibernate。
hibernate不是你们这些小玩具说替代就替代的,你们这些设计只是在面向对象的道路上渐行渐远。 |
|
返回顶楼 | |
发表时间:2011-12-26
yangguo 写道 大哥们,不要动不动就说替代 hibernate。
hibernate不是你们这些小玩具说替代就替代的,你们这些设计只是在面向对象的道路上渐行渐远。 --- 同意,这个东西只是针对查询需求,有一定的应用范围; |
|
返回顶楼 | |