org.apache.ibatis.mapping.SqlMapperException: The expression 'list' evaluated to a null value.
我的java代码:
public List<SearchVO> getSearchResultByParams(List<String> selectedGroups) {
Map map = new HashMap(1);
map.put("selectedGroups", selectedGroups);
return MyMapper.getSearchResultByParams(map);
}
mymapper.xml:
<select id="getSearchResultByParams" parameterType="map" resultMap="SearchResultMap">
SELECT *
FROM WORK
WHERE ID IN
<foreach item="selectedGroups" collection="list" open="(" separator="," close=")">
#{selectedGroups}
</foreach>
</select>
首先确保您在mybatis-config文件typeAliases标记中为java.util.HashMap设置了别名映射
<select id="getSearchResultByParams" parameterType="map" resultMap="SearchResultMap">
SELECT *
FROM WORK
WHERE ID IN
<foreach collection="selectedGroups" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
集合必须是地图中列表的关键字
该文档可能会帮助您http://mybatis.github.io/mybatis-3/dynamic-sql.html
动态 SQL 是 MyBatis 的强大特性之一。在 JDBC 或其它类似的框架中,开发人员通常需要手动拼接 SQL 语句。根据不同的条件拼接 SQL 语句是一件极其痛苦的工作。例如,拼接时要确保添加了必要的空格,还要注意去掉列表最后一个列名的逗号。而动态 SQL 恰好解决了这一问题,可以根据场景动态的构建查询。 动态 SQL 只有几个基本元素,与 JSTL 或 XML 文本处理器相似,十分简单明
本文向大家介绍详解Mybatis动态sql,包括了详解Mybatis动态sql的使用技巧和注意事项,需要的朋友参考一下 1.什么是mybatis动态sql 看到动态,我们就应该想到,这是一个可以变化的sql语句 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑 2.mybatis动态sql使用前准备 a.数据库表 b.创建类 3.使用mybatis动
本文向大家介绍MyBatis使用动态SQL标签的小陷阱,包括了MyBatis使用动态SQL标签的小陷阱的使用技巧和注意事项,需要的朋友参考一下 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plai
本文向大家介绍mybatis的动态sql之if test的使用说明,包括了mybatis的动态sql之if test的使用说明的使用技巧和注意事项,需要的朋友参考一下 参数为String,if test读取该参数代码 参数为pojo , if test读取该参数代码 补充:关于mybatis中 if test的条件怎么写 1.mybatis 中 的 if test写法 1.1官方文档上对于if是这
本文向大家介绍Mybatis中的动态SQL语句解析,包括了Mybatis中的动态SQL语句解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Mybatis中的动态SQL语句解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Mybatis中配置SQL有两种方式,一种是利用xml 方式进行配置,一种是利用注解进行配置。 Myb
本文向大家介绍mybatis的动态sql详解(精),包括了mybatis的动态sql详解(精)的使用技巧和注意事项,需要的朋友参考一下 MyBatis 的一个强大的特性之一通常是它的动态 SQL 能力。如果你有使用 JDBC 或其他 相似框架的经验,你就明白条件地串联 SQL 字符串在一起是多么的痛苦,确保不能忘了空 格或在列表的最后省略逗号。动态 SQL 可以彻底处理这种痛苦。 通常使用动态SQ