`
mmBlue
  • 浏览: 167221 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SpringSide_2技术分析_Velocity创建动态SQL

阅读更多

这里主要介绍SpringSide使用Velocity+Spring创建动态SQL,有点类似ibatis

参考文件

1. showcase org.springside.examples.showcase.common.dao.UserJdbcDao类里面的

属性 private String searchUserSql;

 

2. showcase applicationContext-jdbc.xml

 

 

	<bean id="userJdbcDao" class="org.springside.examples.showcase.common.dao.UserJdbcDao">
		<property name="searchUserSql">
			<value><![CDATA[
			SELECT id, name, login_name 
			FROM ss_user
			WHERE 1=1
			
			## Dynamic Content
			#if ($loginName)
			AND login_name=:loginName
			#end
			#if ($name)
			AND name=:name
			#end
			
			ORDER BY id
			]]></value>
		</property>
	</bean>

利用Spring的注入功能,把searchUserSql 注入进去

 

3.查看下面的方法(注释有问题,应该是Velocity不是freemarker)

	/**
	 * 使用freemarker创建动态SQL.
	 */
	public List<User> searchUserByFreemarkerSqlTemplate(Map<String, ?> conditions) {
		String sql = VelocityUtils.render(searchUserSql, conditions);
		logger.info(sql);
		return jdbcTemplate.query(sql, userMapper, conditions);
	}

VelocityUtils是一个工具类,调用的代码为

VelocityContext velocityContext = new VelocityContext(model);
StringWriter result = new StringWriter();
Velocity.evaluate(velocityContext, result, "", template);

通俗点讲,就是将xml里面的searchUserSql 和 变量给Velocity模板,然后去渲染,用的是字符串模板,不是文件模板。这个freemarker也可以做到。

freemarker实现 可参考:

http://balaschen.iteye.com/blog/51591

http://www.zhuoda.org/lunzi/102545.html

分享到:
评论

相关推荐

    Springside_3.3.2_技术参考手册

    Springside_3.3.2_技术参考手册

    Springside_3.3.2_技术参考手册.doc

    Springside_3.3.2_技术参考手册.doc讲解非常到位,

    springside_4jar.rar

    通过运行和调试这些示例,开发者可以深入理解SpringSide 4如何整合Spring、Hibernate、MyBatis等技术,以及如何创建RESTful API、处理异常、进行单元测试等。 7. **文档与社区支持** SpringSide 4拥有详尽的文档和...

    springside_reference

    springside_reference

    使用SpringSide_3.1.4.3开发Web项目的全过程

    2. **创建数据库**:在MySQL中创建一个新的数据库,并根据需求创建相应的表结构。 3. **更新数据源配置**:在项目中更新数据源连接配置,确保使用正确的MySQL数据库连接信息。 4. **部署项目**:重新部署项目至...

    springside3.3.1_security总结

    SpringSide 3.3.1还支持OAuth2认证,可以与其他服务提供商(如Google、Facebook)进行身份验证集成,提升用户体验。 总结,SpringSide 3.3.1中的Spring Security整合,为开发者提供了强大且灵活的安全控制手段,...

    SpringSide学习资料合集(教程视频Jar包)

    资源名称:SpringSide学习资料合集(教程 视频 Jar包)资源目录:【】springside-3.3.4-src【】SpringSide3-core-3.3.4【】springside3wiki【】SpringSide7-20培训视频【】Springside_3.3.2_技术参考手册【】...

    SpringSide3开发环境mini-web项目_2

    SpringSide3开发环境mini-web项目_2 一共三个压缩包: http://download.csdn.net/source/1725011 http://download.csdn.net/source/1725015 http://download.csdn.net/source/1725311

    springside-3.2.2源码

    《SpringSide 3.2.2 源码解析与技术深度探讨》 SpringSide 是一个基于 Spring Framework 的 Java 开发工具集,旨在简化 Spring 应用程序的开发过程,提供一套快速、现代且规范的开发实践。SpringSide 3.2.2 版本是...

    SpringSide4 参考手册

    SpringSide4参考手册是一份详尽的文档,涵盖了使用SpringSide4.0版本开发应用时可能会用到的各种技术组件和模块。SpringSide是一个开源的Java开发平台,它集成了Spring框架和大量实用的组件,以方便开发人员构建复杂...

    Springside技术参考手册

    在SpringSide 2中,每创建一个新的Dao类,都需要在serviceContext.xml中手动添加相应配置,而在SpringSide 3中,自动扫描功能使得这一过程自动化,大大提高了开发效率。 总的来说,SpringSide 3.3.2技术参考手册...

    springside开发全面讲解

    2. **依赖管理**:springside使用Maven进行依赖管理,通过预定义的配置文件,开发者可以快速导入所需的库,避免了手动管理jar包的繁琐过程。 3. **代码规范**:springside遵循Java编码最佳实践,如使用Checkstyle和...

    springside框架

    《SpringSide框架详解:整合Spring、Hibernate与Struts2的高效解决方案》 SpringSide框架,作为一款基于Java的开源企业级应用开发框架,是开发者们为了简化开发流程、提高开发效率而精心设计的。它巧妙地融合了...

    springside3.3完整版

    SpringSide是一个面向实践的Java开发框架,它基于Spring Framework,旨在简化Spring应用的创建和维护。3.3版本是对该框架的一次重要更新,提供了更稳定的性能和更多的特性。 2. **MyEclipse集成** MyEclipse是...

    springSide使用手册

    总的来说,SpringSide 提供了一种高效的项目初始化方法,通过 Maven Archetype 和 Velocity 模板,降低了项目创建的复杂度,同时利用 Struts2 的 Convention Plugin 实现了高度自动化配置,提高了开发效率。...

    springside3.3.4 使用方法

    Springside 3.3.4版本作为一个成熟的发布版,不仅集成了Spring框架的核心功能,还提供了对其他开源技术如Hibernate和Struts等的支持。在本文档中,我们将详细介绍如何使用Springside 3.3.4版本,并特别关注SSH...

    springside

    2. **最佳实践**:SpringSide定义了一套开发规范,包括命名规则、代码风格、测试策略等,有助于提升团队间的协作效率和代码质量。 3. **示例代码**:SpringSide提供了丰富的示例代码,涵盖了Spring Framework的各种...

    springside3.0.zip

    2. **Maven集成**:SpringSide 3.0 使用Maven作为构建工具,提供了标准的项目结构和配置,使得项目的构建、依赖管理和部署变得更加简单。通过Maven的POM.xml文件,开发者可以轻松管理项目的所有依赖库。 3. **...

    Springside-core-4.1.0/Springside-core-4.1.0

    2. **构建工具**:SpringSide-core-4.1.0使用Maven作为主要的构建工具,提供了一套标准的项目结构和配置,使得项目的构建和部署变得更加简单。 3. **代码生成器**:内含代码生成器工具,可以帮助开发者快速生成常见...

Global site tag (gtag.js) - Google Analytics