`
json20080301
  • 浏览: 162944 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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




  • src.zip (147.6 KB)
  • 下载次数: 592
  • 大小: 67.4 KB
分享到:
评论

相关推荐

    基于SpringJdbc和Freemarker的JAVA轻量级持久层框架设计源码

    文件类型包括72个Java源代码文件、64个Freemarker模板文件、5个XML配置文件、5个SQL文件、4个Properties配置文件、2个BAT批处理文件、1个GIT属性文件、1个GIT忽略文件和1个LICENSE文件。该框架具备Mybatis一样的SQL...

    轻量级Java持久层框架MiniDAO:基于SpringJDBC与FreeMarker的源码实现

    MiniDAO是一个基于SpringJDBC和FreeMarker技术的轻量级Java持久层框架。它以简洁的设计理念实现了SQL的分离和逻辑标签功能,与Mybatis的操作体验相媲美,同时能够无缝集成至Spring Boot项目。 技术构成: - 主要...

    【基础练习】jsp+servlet+jdbc 网上购物商系统(带sql脚本)

    往后学习,大家会碰到很多的框架,例如JDBC的配置类不需要自己写,用mybatis就可以做连接和增删改查,例如servlet也会被spring boot的注解所代替,但是归根结底,它们都是要基于这类知识的。我会把我 拓展了的地方写...

    Strut2+Spring+SQLServer的学生成绩管理系统

    包含SQLServer的数据库文件,直接...Struts2与Spring的整合,使用Apache的POI框架导出Excel等功能会让你愉悦一下的。看不惯有些人很烂的代码收上八九分的,两分是为了自己挣点分下资源,下过觉得不亏的给好评哦,亲~

    ssh(structs,spring,hibernate)框架中的上传下载

     第3~9行定义了一个数据源,其实现类是apache的BasicDataSource,第11~25行定义了Hibernate的会话工厂,会话工厂类用Spring提供的LocalSessionFactoryBean维护,它注入了数据源和资源映射文件,此外还通过一些键值...

    Spring框架JdbcTemplate类中查询方法介绍

    JdbcTemplate 是 Spring 框架中 org.springframework.jdbc.core 包提供的 JDBC 模板类,它是核心类,其他模板类都是基于它封装完成的。JdbcTemplate 类主要提供四类方法:execute 方法、update 方法及 batchUpdate ...

    Spring 2.0 开发参考手册

    11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口...

    Spring.3.x企业应用开发实战(完整版).part2

    10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼 10.6.1 哪些方法不能实施Spring AOP事务 10.6.2 事务增强遗漏实例 10.7 数据连接泄漏 10.7.1 底层连接资源的访问问题 10.7.2 Spring JDBC...

    Spring与iBATIS的集成

    但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比,iBATIS独辟蹊径“iBATIS不是试图从根本上掩盖SQL,实际上,它是在拥抱SQL。” &lt;br&gt;但别犯愁:SQL本身具备...

    Spring-Reference_zh_CN(Spring中文参考手册)

    11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 ...

    Spring中文帮助文档

    11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口...

    spring chm文档

    11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口...

    Spring API

    11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口...

    Spring3.x企业应用开发实战(完整版) part1

    10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼 10.6.1 哪些方法不能实施Spring AOP事务 10.6.2 事务增强遗漏实例 10.7 数据连接泄漏 10.7.1 底层连接资源的访问问题 10.7.2 Spring JDBC...

    Spring-generator一键生成数据库文件

    Spring-generator 不是框架,它不会影响现有的任何机构,它只是一个解决你重复做某些事情的工具,它也不拘束与某个语言,它的使命就是将数据库表结构取出来,剩下的就取决于你怎么使用 FreeMarker 编写模板生成你想...

    spring in action英文版

     4.6.1 配置SQL Map  4.6.2 使用SqlMapClientTemplate  4.7 Spring和OJB  4.8 小结  第5章 事务管理  5.1 理解事务  5.1.1 仅用4个词解释事务  5.1.2 理解Spring对事务管理的支持  5.1.3 ...

    struts2+spring3+hibernate4 + UI 组件(easyui)+代码生成器+共通封装+Spring_security权限

    数据字典封装, 邮件发送封装,定时器封装,hibernate+spring jdbc组合使用 [4].完整用户权限封装 权限可直接使用 功能:权限,角色,用户 [5].ehcache缓存机制(永久缓存/临时缓存) 代码生成器界面: A.动态选择...

    关于和spring-boot相关的demo大全

    actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、...

    java-persistence-frameworks-comparison:用于Java的非JPA SQL映射框架的比较(Jooq,Spring JDBCTemplate,MyBatis,EBean,JDBI,Speedment和sql2o)

    Java持久性框架比较该项目比较了Java的非JPA SQL映射(持久性)框架(jOOQ,Spring JDBCTemplate等)的用法。 我们用它来找出在开发时哪个数据库层是最好的我不是在比较性能,而是在日常任务中如何使用这些框架。 我...

    spring boot demo 是一个用来深度学习并实战 spring boot 的项目

    plus(快速操作Mybatis)、BeetlSQL(强大的ORM框架)、upload(本地文件上传和七牛云文件上传)、redis(缓存)、ehcache(缓存)、email(发送各种类型邮件)、task(基础定时任务)、quartz(动态管理定时任务)、xxl-job(分布式...

Global site tag (gtag.js) - Google Analytics