微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mybatis查询功能

预设的类型别名

这些别名都大小写不敏感

Mybatis的各种查询功能

查询出的数据只有一条

  • 可以通过实体类对象接收

  • 可以通过List接收

  • 可以通过Map接收

查询出的数据有多条

  • 可以通过Lst接收

  • 可以通过Lsit<Map<String, Object>>接收

  • 在mapper方法上使用@MapKey(value="唯一认证的字段")注解

查询(mapper里的方法返回)一个实体类对象

查询到的只有一条,可以实体类对象接收,但是如果可能有多条,就不能用实体类对象了。会抛异常TooManyResultsException

User selectForOne(@Param("id")Integer id);
 <select id="selectForOne" resultType="User">
        select * from t_user where id = #{id}
    </select>

查询一个List集合

查询出的数据有多条或者只有一条,都可以用List集合接收

List<User> selectAll();
<select id="selectAll" resultType="User">
        select * from t_user
    </select>

查询单行/单列

MyBatis中设置了认的类型别名

Integer selectCount();
 <select id="selectCount" resultType="Integer">
        select count(*) from t_user
    </select>

查询一条数据返回一个Map集合

结果:{字段名=字段值,字段名=字段值}

Map<String, Object> selectUserMapById(@Param("id")Integer id);
<select id="selectUserMapById" resultType="Map">
        select * from t_user where id = #{id};
    </select>

查询多条数据

使用List<Map<>>

List<Map<String, Object>> selectAllUserListMap();
<select id="selectAllUserListMap" resultType="Map">
        select * from t_user
    </select>

使用@Map注解

在mapper方法上使用@MapKey(value="唯一认证的字段"),此时就可以将每条数据转换的map集合作为值,某个字段的值作为键

@MapKey("id")
    Map<String, Object> selectAllUserMap();
<select id="selectAllUserMap" resultType="Map">
        select * from t_user
    </select>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐