`
网路爬虫
  • 浏览: 967 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

mybaits 中的foreach循环

阅读更多
[size=x-small]
一、  当集合为map对象的数据
      @service.java
                 map.put("ordDd", ordDd);
map.put("consignee", shr);
map.put("shdh", shdh);
map.put("shdz", shdz);
map.put("opType", opType);
map.put("useHosp", useHosp);
map.put("username", username);
//将要保存的表头数据放入 定义好的集合中
listMap.add(map);
         sqlId = "com.ifm.mappers.accept.accept.insertTHTemReady_insert";
if(listMap != null && listMap.size()>0){
mapcs.put("listMap", listMap);
dao.insert(sqlId, mapcs);
     @Mybatis
<insert id="insertTHTemReady_insert" parameterType="map">
INSERT INTO
MF_POS_SO_TMP (
BIL_TYPE,
rem,
cus_no,
cus_name,
sal_no,
OS_NO,
OS_DD,
CON_MAN,
CON_MAN_PHONE,
addr,
op_type,
op_hos,
OPERATOR
)
VALUES
<foreach collection="listMap" item="item" index="index" separator=",">
(
'${item.bilType}',
'${item.rem}',
'${item.cusNo}','${item.cusName}','${item.salNo}'
,'${item.ordNo}',#{item.ordDd},'${item.consignee}','${item.shdh}',
'${item.shdz}','${item.opType}','${item.useHosp}','${item.username}'
)
</foreach>

一、  当集合为list对象的集合
     @service.java
            List<String> cusNoList = new ArrayList<String>(wdrList.size());
//可获取单号集合
List<String> ordNoList = new ArrayList<String>(wdrList.size());

///  定义订单日期
ordDd = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
if (wdrList != null && wdrList.size() > 0) {
//遍历查询结果
for (getDsptWdrOrderBean ordBean : wdrList) {
ordNo = ordBean.getOrderCode();
ordNoList.add(ordNo);
cusNo = ordBean.getCusNo();
cusNoList.add(cusNo);
}
mapcs.put("ordNoList", ordNoList);
sqlId = "com.ifm.mappers.accept.accept.selectcusName_select";
mapcs.put("cusNoList", cusNoList);
   @Mybatis
         <select id="selectcusName_select" parameterType="map"
resultType="com.ifm.mvc.annotation.bean.SumAmtCreLimiTempBean">
SELECT
NAME name,
CUS_NO cusNo
FROM
CUST
WHERE
1=1
<if test="cusNoList != null and cusNoList !=''">
and CUS_NO in
<foreach collection="cusNoList" item="cusNo" open="(" close=")"   separator=",">           
#{cusNo}
</foreach>
</if>
[/size]
分享到:
评论

相关推荐

    Mybatis中foreach标签带来的空格\换行\回车问题及解决方案

    Mybatis 中的 foreach 标签是一个功能强大的工具,允许开发者在 SQL 语句中循环遍历集合对象。但是,在使用 foreach 标签时,经常会遇到空格、换行、回车问题,这些问题会导致 SQL 语句执行失败或返回错误的结果。 ...

    mybatis Mapper.xml中传参多选 字符串形式逗号分隔 AND中拼接OR.rar

    注意,`&lt;if&gt;`标签用于判断`tags`是否为空或者其大小是否大于0,以决定是否需要执行`&lt;foreach&gt;`循环。这是因为如果用户没有选择任何标签,我们不希望生成任何`OR`条件,否则会导致查询结果不正确。 在实际开发中,你...

    Mybaits通用的10种写法总结大全

    - `foreach`标签用于循环遍历集合,并将其内容插入到SQL语句中。它的主要属性包括: - `item`:当前元素的别名。 - `index`:当前元素的索引。 - `collection`:需要遍历的集合。 - `open`:循环开始时的字符串...

    MyBatis 3.4.3

    例如,可以使用`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;`, `&lt;foreach&gt;`等标签进行条件判断和循环处理。 2. **结果映射**:MyBatis提供了强大的结果映射机制,能够自动将查询结果转换为Java对象。...

    Mybatis视频教程

    - **foreach**:循环遍历集合或数组,常用于IN子句或者批量操作。 #### 六、缓存机制 - **一级缓存**:默认开启,生命周期与SqlSession相同,主要用于减少数据库访问次数,提高性能。 - **二级缓存**:全局级别缓存...

    MyBatis批量插入(insert)数据操作

    `foreach`标签是MyBatis提供的循环构造SQL语句的工具,它可以迭代任何集合类型的数据,包括List、Set等。`collection`属性的值取决于传入参数的类型,例如: - 如果是List,`collection`应为`list` - 如果是数组...

    mybatis中批量插入的两种方式(高效插入)

    在这个例子中,`insertBatch` 方法接受一个`List` 类型的参数,`foreach` 循环遍历列表,将每个元素插入到`TStudent` 表中。 ### 2. MyBatis `ExecutorType.BATCH` MyBatis 提供了三种执行器类型:`SIMPLE`、`...

    《MyBatis 基础笔记》源代码

    MyBatis的动态SQL功能非常强大,通过`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;foreach&gt;`等标签,可以在XML映射文件中实现条件判断和循环,从而编写出灵活多变的SQL语句。 7. **SqlSession与Executor**: ...

    myBatis_Cache_Dynamic.rar

    `&lt;foreach&gt;`元素则常用于遍历集合,生成IN语句或者其他循环结构的SQL片段。 在“myBatis_Cache_Dynamic.rar”这个压缩包中,可能包含了关于如何配置和使用MyBatis缓存以及动态SQL的示例代码。可能包括了Mapper接口...

    MyBatis 3 User Guide Simplified Chinese.pdf

    - **foreach**:循环处理集合或数组,常用于IN子句。 #### 九、Java API - **应用目录结构**:介绍项目结构组织方式。 - **SqlSessions**:详细解释`SqlSession`的使用方法及其生命周期管理。 - **...

    Mybatis传list参数调用oracle存储过程的解决方法

    这种方法可以摆脱Mybatis批量插入数据的诸多限制,例如不能实时返回主键、foreach标签循环集合长度有限制等问题,并且可以灵活地控制事务回滚。 结论 使用Mybatis传List参数调用Oracle存储过程,可以实现批量插入...

    mybatis图形教学大全

    5. **动态SQL**:MyBatis的动态SQL功能强大,可以在XML映射文件中使用if、choose、when、otherwise、where、set、foreach等元素,实现条件拼接、循环等复杂逻辑。 6. **参数映射和结果映射**:MyBatis通过`@Param`...

Global site tag (gtag.js) - Google Analytics