关于mybatis mapper collection 的问题

说书人- 2015-04-08 04:00:36
数据库语句: select a.task , b.productName from a , b where a.id = b.id ;
在b中 一个id 可能有多个productName ,
所以 在结果的实体类task中,有字段为List<String> products

mapper.xml 中:
<resultMap type="task">
<collection property="products" column="productName"
javaType="java.util.ArrayList" ofType="String">
</collection>
</resultMap>


报错:Parameter Maps collection does not contain value for java.util.Map

我觉得应该是collection标签写错了 , 求大神啊!弄了好长时间了
...全文
378 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
说书人- 2015-04-09
  • 打赏
  • 举报
回复
恩恩 多谢哈 我需要一个这个例子
zwbVsAjava 2015-04-08
  • 打赏
  • 举报
回复
sqlMap应该是这样的: <resultMap type="com.card.transaction.payment.pojo.sql.Tempab" id="selectab"> <result property="task" column="task"/> <collection property="list" column="productname" ofType="java.lang.String"> <result column="productname"/> </collection> </resultMap> <select id="selectTM" resultMap="selectab"> select task,productname from a,b where a.id=b.id </select>
zwbVsAjava 2015-04-08
  • 打赏
  • 举报
回复
按照你说的我写了下:
1.定义pojo
public class Tempab implements Serializable{

private String task;

private List<String> list;

public String getTask() {
return task;
}

public void setTask(String task) {
this.task = task;
}

public List<String> getList() {
return list;
}

public void setList(List<String> list) {
this.list = list;
}

}
即一个a对应多个b
2.sQLmAP
<resultMap type="com.card.transaction.payment.pojo.sql.Tempab" id="selectab">
<result property="task" column="task"/>
<collection property="list" column="productname" ofType="java.lang.String">
</collection>
</resultMap>

<select id="selectTM" resultMap="selectab">
select task,productname from a,b where a.id=b.id
</select>

3.
CREATE TABLE a
(
id serial NOT NULL,
task character varying(100)
)

CREATE TABLE b
(
id integer,
productname character varying(100)
)

表数据:


4.运行结果:
---task-----task1
----produce---task1
----produce---task1
---task-----task2
----produce---task2

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧