这里主要介绍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_技术参考手册.doc讲解非常到位,
通过运行和调试这些示例,开发者可以深入理解SpringSide 4如何整合Spring、Hibernate、MyBatis等技术,以及如何创建RESTful API、处理异常、进行单元测试等。 7. **文档与社区支持** SpringSide 4拥有详尽的文档和...
springside_reference
2. **创建数据库**:在MySQL中创建一个新的数据库,并根据需求创建相应的表结构。 3. **更新数据源配置**:在项目中更新数据源连接配置,确保使用正确的MySQL数据库连接信息。 4. **部署项目**:重新部署项目至...
SpringSide 3.3.1还支持OAuth2认证,可以与其他服务提供商(如Google、Facebook)进行身份验证集成,提升用户体验。 总结,SpringSide 3.3.1中的Spring Security整合,为开发者提供了强大且灵活的安全控制手段,...
资源名称:SpringSide学习资料合集(教程 视频 Jar包)资源目录:【】springside-3.3.4-src【】SpringSide3-core-3.3.4【】springside3wiki【】SpringSide7-20培训视频【】Springside_3.3.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 是一个基于 Spring Framework 的 Java 开发工具集,旨在简化 Spring 应用程序的开发过程,提供一套快速、现代且规范的开发实践。SpringSide 3.2.2 版本是...
SpringSide4参考手册是一份详尽的文档,涵盖了使用SpringSide4.0版本开发应用时可能会用到的各种技术组件和模块。SpringSide是一个开源的Java开发平台,它集成了Spring框架和大量实用的组件,以方便开发人员构建复杂...
在SpringSide 2中,每创建一个新的Dao类,都需要在serviceContext.xml中手动添加相应配置,而在SpringSide 3中,自动扫描功能使得这一过程自动化,大大提高了开发效率。 总的来说,SpringSide 3.3.2技术参考手册...
2. **依赖管理**:springside使用Maven进行依赖管理,通过预定义的配置文件,开发者可以快速导入所需的库,避免了手动管理jar包的繁琐过程。 3. **代码规范**:springside遵循Java编码最佳实践,如使用Checkstyle和...
《SpringSide框架详解:整合Spring、Hibernate与Struts2的高效解决方案》 SpringSide框架,作为一款基于Java的开源企业级应用开发框架,是开发者们为了简化开发流程、提高开发效率而精心设计的。它巧妙地融合了...
SpringSide是一个面向实践的Java开发框架,它基于Spring Framework,旨在简化Spring应用的创建和维护。3.3版本是对该框架的一次重要更新,提供了更稳定的性能和更多的特性。 2. **MyEclipse集成** MyEclipse是...
总的来说,SpringSide 提供了一种高效的项目初始化方法,通过 Maven Archetype 和 Velocity 模板,降低了项目创建的复杂度,同时利用 Struts2 的 Convention Plugin 实现了高度自动化配置,提高了开发效率。...
Springside 3.3.4版本作为一个成熟的发布版,不仅集成了Spring框架的核心功能,还提供了对其他开源技术如Hibernate和Struts等的支持。在本文档中,我们将详细介绍如何使用Springside 3.3.4版本,并特别关注SSH...
2. **最佳实践**:SpringSide定义了一套开发规范,包括命名规则、代码风格、测试策略等,有助于提升团队间的协作效率和代码质量。 3. **示例代码**:SpringSide提供了丰富的示例代码,涵盖了Spring Framework的各种...
2. **Maven集成**:SpringSide 3.0 使用Maven作为构建工具,提供了标准的项目结构和配置,使得项目的构建、依赖管理和部署变得更加简单。通过Maven的POM.xml文件,开发者可以轻松管理项目的所有依赖库。 3. **...
2. **构建工具**:SpringSide-core-4.1.0使用Maven作为主要的构建工具,提供了一套标准的项目结构和配置,使得项目的构建和部署变得更加简单。 3. **代码生成器**:内含代码生成器工具,可以帮助开发者快速生成常见...