这里主要介绍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_4jar.rar,比较全
使用SpringSide_3.1.4.3开发Web项目的全过程
springside_reference
SpringSide_3.1.4.3项目开发全过程
资源名称:SpringSide学习资料合集(教程 视频 Jar包)资源目录:【】springside-3.3.4-src【】SpringSide3-core-3.3.4【】springside3wiki【】SpringSide7-20培训视频【】Springside_3.3.2_技术参考手册【】...
最新解决方案springside的安全机制总结
SpringSide3开发环境mini-web项目_2 一共三个压缩包: http://download.csdn.net/source/1725011 http://download.csdn.net/source/1725015 http://download.csdn.net/source/1725311
java SpringSide_3开发Web项目的全过程
springside-3.2.2源码springside-3.2.2源码
springside
SpringSide4.0 Reference Manual 自己整理的官方文档,PDF格式,方便查阅,所有连接都已整理。
springside4-4.0.1.GA_WAR , 可运行。
springside4
Springside 3.3.2 技术参考手册.doc
springside3.0.zip
SpringSide文档.chm。
pom.xml配置 ...mvn install:install-file -DgroupId=org.springside -DartifactId=springside-core -Dversion=4.2.2.GA -Dfile=./springside-core-4.2.2.GA.jar -Dpackaging=jar -DgeneratePom=true
springside开发全面讲解 springside集成了多项技术,不适合入门者学习,因此本资料也尽量从最简单最基础的讲起。