mybatis查询数据赋值到model里面为空的解决
查询数据赋值到model里为空
因为数据多所以在查询中使用分页,但是发现直接执行sql语句是可以获取到数据,而list里面却是空的
<select id="list" resultType="DaliyDO">
select a1.* from (
select
id ,rownum
from dual
<where>
<if test="id != null and id != ''"> and id = #{id} </if>
</where>
<choose>
<otherwise>
order by id desc
</otherwise>
</choose>
) a1
<if test="offset != null and limit != null">
where rownum between #{offset} and #{offset}+#{limit}
</if>
</select>原因是 resultType属性与model不对应。
我们使用分页会在查询值加入一个rownum的值,这个值在我们建立model的时候是没有的,所以只要在model里面加上rownum这个属性就可以。
当然你也可以使用别的分页方法
查询无数据的时候问题
1.如果返回值是List、Map这种集合类,会先执行new语句,再赋值。所以判断是否有数据时,只能用size==0来判断。
2.如果是普通的对象,不会new,所以可以使用是否为null来判断是否有数据。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring @Configuration和@Component的区别
今天小编就为大家分享一篇关于Spring @Configuration和@Component的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12
Springcloud基于OpenFeign实现服务调用代码实例
这篇文章主要介绍了Springcloud基于OpenFeign实现服务调用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-08-08
关于Shiro过滤器配置方式(ShiroFilterFactoryBean)
这篇文章主要介绍了关于Shiro过滤器配置方式(ShiroFilterFactoryBean),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12


最新评论