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>

相关文章

今天小编给大家分享的是MyBatis批量查询、插入、更新、删除如...
今天小编给大家分享的是Mybatis操作多数据源实现的方法,相信...
本篇文章和大家了解一下mybatis集成到spring的方式有哪些。有...
今天小编给大家分享的是mybatis-plus分页查询的3种方法,相信...
本篇内容主要讲解“mybatis之BaseTypeHandler怎么使用”,感...
这篇文章主要介绍了mybatisforeach怎么传两个参数的相关知识...