关于MyBatis的Mapper.xml文件中resultType的问题

写在前面

最近在实际业务开发的时候还是发现了一些问题的,现在特总结一下。

问题来源

关于mybatis内部返回查找或者组查找是返回list类型的问题:
mybatis会自动把查找结果放入到一个list中的,所以你的resultType应该是写的list集合内部的元素的类型,而不是List类型。

例如:在一个ids表中只有id列,且数据类型为Long;那么范围查找的语句可以是:

select * from ids where id>=19 and id<=99;

这个结果自动返回的就是一个List类型的集合,当然前提是你的resultType要是,这里一定要注意了返回的是list内部的元素的类型,而绝对不是list集合本身。

那么再如果,这个表中并不仅仅只有id这一列,还有很多其他列,这个时候我们只用上面这种操作就是不可以的了,需要在mybatis的配置文件中将查域限定,如:

//配合查找域名
<sql id="ids">
    id
</sql>

<select id=“findIds” resultType = “java.lang.Long”>
    select
    <include refid=“ids”/>
    from
    tablename
    where id>=10 and
    id<=20
</select>

你可能感兴趣的:(JAVA,Spring框架,Java,Mybatis)