Mybatis 的 foreach 的使用
来源:互联网 发布:python服务端 编辑:程序博客网 时间:2024/05/18 17:40
foreach
另外一个动态 SQL 通用的必要操作是迭代一个集合, 通常是构建在 IN 条件中的。 比如:
<select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach></select>
foreach 元素是非常强大的,它允许你指定一个集合,声明集合项和索引变量,它们可 以用在元素体内。它也允许你指定开放和关闭的字符串,在迭代之间放置分隔符。这个元素 是很智能的,它不会偶然地附加多余的分隔符。
注意 你可以传递一个 List 实例或者数组作为参数对象传给 MyBatis。当你这么做的时 候,MyBatis 会自动将它包装在一个 Map 中,用名称在作为键。List 实例将会以“list” 作为键,而数组实例将会以“array”作为键。
这个部分是对关于 XML 配置文件和 XML 映射文件的而讨论的。下一部分将详细讨论 Java API,所以你可以得到你已经创建的最有效的映射。
/**根据 角色用户 ids 查询角色和用户
* @param roleIds* @return
* @throws BaseException
*/
@SuppressWarnings("unchecked")
public List<Role> findRoleByIds(String roleIds)throws BaseException {
List<String> ids = java.util.Arrays.asList(roleIds.split(","));
Map<String, List<String>> map= new HashMap<String, List<String>>();
map.put("roleIds", ids);
return this.getSqlSession().selectList("findRoleByIds", map);
}
<!-- 根据部门Id获取部门经理角色 -->
<select id="findRoleByIds"
parameterType="map"
resultType="com.broadtext.commonsys.security.dao.Role">
select *
from(
select sr.ID as id, sr.ROLE_NAME as roleName from Sys_Role sr
union
select su.ID as id, su.true_name as roleName from Sys_User su
) r
where 1=1
<if test="roleIds != null and roleIds != ''">
and r.id in
<foreach collection="roleIds" open="(" close=")" separator="," item="roleId">
#{roleId}
</foreach>
</if>
</select>
- Mybatis的foreach使用
- Mybatis 的 foreach 的使用
- mybatis的foreach简单使用
- MyBatis中<foreach>的使用
- mybatis中foreach的使用
- mybatis <forEach>标签的使用
- mybatis中的foreach的使用
- mybatis <forEach>标签的使用
- mybatis中foreach的使用
- mybatis的foreach语句使用问题
- mybatis foreach中集合的使用
- mybatis的xml中使用foreach
- MyBatis的foreach语句
- mybatis的foreach标签。
- mybatis的foreach标签
- MyBatis的foreach语句
- mybatis的foreach
- Mybatis的foreach详解
- Windows2008配置VPN服务器教程
- java DOM 对xml文件的操作【分别对节点、节点属性、节点内容增删改查】
- mac 无法连接android手机进行调试 解决方案
- 马尔科夫随机场
- UVa 621 - Secret Research
- Mybatis 的 foreach 的使用
- Linux 时间同步命令
- C2000LaunchPad学习记录(4)——SIC串口发送数据
- SqlServer加锁
- keytool工具使用详解
- js漂浮广告
- Java中用三目运算符模糊查询
- zedboard--zedboard学习小结
- ZUL页面注解语法与Java注解语法