ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mybatis查询功能

2022-08-20 13:01:51  阅读:137  来源: 互联网

标签:Map 功能 List 查询 user mybatis id select


预设的类型别名

这些别名都大小写不敏感

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>

标签:Map,功能,List,查询,user,mybatis,id,select
来源: https://www.cnblogs.com/phonk/p/16607542.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有