原文地址
本文介绍bboss 动态sql使用foreach循环示例。切入正题。
在sql配置文件中配置的sql语句有时需要用到foreach循环控制语句以及循环计数器velocityCount,以便遍历外部传入的list数据。在这里我们简单地介绍这个功能。
首先看看sql配置文件中配置的sql语句:
<property name="updateLkYjZt">
<![CDATA[
update dtjf.t_zt_zdry_cklkyjqbxx y set y.sjqszt = '5'
where y.yjlx='2'
and y.ldxxbh in (
#foreach($ldxxbh in $ldxxbhs)
#if($velocityCount == 1)
'$ldxxbh'
#else
,'$ldxxbh'
#end
#end
);
]]>
</property>
在sql语句中包含了foreach循环控制语句和循环控制变量velocityCount:
#foreach($ldxxbh in $ldxxbhs)
#if($velocityCount == 1)
'$ldxxbh'
#else
,'$ldxxbh'
#end
#end
其中的变量$ldxxbh 保存了每次迭代获取到的list元素的值,变量$ldxxbhs表示一个list集合,可以通过三种方式设置:bean的get方法,map对象,sqlparams对象;详情请参考文章《bbossgroups 持久层模板sql变量参数设置的三种方式》,本例采用map方式设定这个list类型变量$ldxxbhs。
下面我们看看java通过ConfigSQLExcutor对象executor来执行这个带foreach循环控制逻辑的sql语句代码:
public void updateLkYjZt(List<String> ldxxbhs) {
try {
Map datas = new HashMap();
datas.put("ldxxbhs",ldxxbhs);
executor.updateBean("updateLkYjZt", datas);
} catch (SQLException e) {
e.printStackTrace();
}
}
其中executor.updateBean("updateLkYjZt", datas)中的参数"updateLkYjZt"对应sql配置<property name="updateLkYjZt">中name属性的值,
Map对象datas中设置了key为“ldxxbhs”,值为list类型的变量ldxxbhs,foreach循环控制语句中通过key “ldxxbhs”来引用这个list对象,然后完成循环控制语句的执行。
分享到:
相关推荐
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
企业级 J2EE 开源框架:bboss
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
官方版本,亲测可用
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
NULL 博文链接:https://yin-bp.iteye.com/blog/2177475
浙江移动BBOSS系统快速入门手册V0.1归类.pdf
基于java语言比mybatis更实用的orm框架,支持mysql、oracle、postgresql、sqlserver、db2、dm、mongodb
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
官方版本,亲测可用
Bboss国际化实践.ppt
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5...