利用SPRING JDBC 和模板框架实现SQL可配置

!!利用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;
}
}



[img]http://dl.iteye.com/upload/attachment/609543/5cec3e5a-428a-36c3-a124-fa63296684a8.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值