• Mybatis的各种查询功能


     1.若查询出来的数据只有一条

                    a.可以通过实体类对象接受
                    d.也可以通过list集合来进行接受
                    c.可以通过map集合接收

    ( 结果:{update_time=2022-07-17T12:15:23, deleted=0, create_time=2022-07-16T22:06:50, name=双双4, id=1548240344215633922, version=3, age=23, email=146578237@qq.com}
    以字段为键以字段所对应的值为值 )

    1. /*
    2. * 查询单条数据
    3. * */
    4. Users selectUsers(@Param("name") String name);
    5. @Test
    6. public void testSelectMapper(){
    7. SqlSession sqLsession = SQLsession.getSqlsession();
    8. SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
    9. Users users = mapper.selectUsers("双双");
    10. System.out.println(users);
    11. }

    2.若查询出来的数据是多条
                    a.可以通过list集合来进行接收
                    b.可以通过map类型的list进行接收
                    c.可以在mapper接口的方法上添加上@MapKey注解,此时就可以将每一条数据转换的map的集合作为值,以某一个字段的值为键,放入同一个map集合中

    (注意在多条数据的时候一定不能用实体类对象来进行接收,如果用实体类对象来接收的话会抛出异常TooManyResultsException)

    1. /*
    2. * 查询多条数据
    3. * */
    4. List selectUser(@Param("name") String name);
    5. @Test
    6. public void testSelectMappers(){
    7. SqlSession sqLsession = SQLsession.getSqlsession();
    8. SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
    9. List users = mapper.selectUser("双双");
    10. System.out.println(users);
    11. }

    3、查询数据的总记录数

    (注意:因为返回值为Integer,所以在mapper.xml映射文件当中resutlType应该返回Integer
    还可以写成 int , Integer, integer 因为这是mybatis默认规定:详情可查阅mybatis官网)

    1. /*
    2. * 查询总记录数
    3. * */
    4. Integer getCount();
    5. @Test
    6. public void tsetgetCount(){
    7. SqlSession sqLsession = SQLsession.getSqlsession();
    8. SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
    9. int users = mapper.getCount();
    10. System.out.println(users);
    11. }

    4、查询一条数据为map集合

    1. /*
    2. * 根据name查询用户信息为一个map集合
    3. * */
    4. Map getUserBynameToMap(@Param("name") String name);
    5. @Test
    6. public void tsetgetUserBynameToMap(){
    7. SqlSession sqLsession = SQLsession.getSqlsession();
    8. SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
    9. Map users = mapper.getUserBynameToMap("双双4");
    10. System.out.println(users);
    11. }

    5、查询多条数据为map集合

    1. /*
    2. * 查询所有的用户信息为map集合
    3. * */
    4. // List> getAllUserToMap();
    5. @MapKey("id")
    6. Map getAllUserToMap();
    7. @Test
    8. public void tsetgetAllUserToMap(){
    9. SqlSession sqLsession = SQLsession.getSqlsession();
    10. SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
    11. // List> users = mapper.getAllUserToMap();
    12. Map users = mapper.getAllUserToMap();
    13. System.out.println(users);
    14. }

  • 相关阅读:
    8月23日计算机视觉理论学习笔记——目标检测
    SpringCloud之Eureka注册中心解读
    JavaScript小技能:原型链的运作机制、Promise链
    xray证书安装使用及Burp联动
    【MySQL】数据库机房架构与跨城容灾详解(实战篇)(MySQL专栏启动)
    从云原生到数字原生,数字化转型背后的需求逻辑发生哪些变化?
    数据结构与算法之排序: 选择排序 (Javascript版)
    双十一什么数码产品值得买?2022双十一值得买的数码好物推荐
    WPF实现签名拍照功能
    YOLOv8血细胞检测(15):微小目标检测的上下文增强和特征细化网络ContextAggregation
  • 原文地址:https://blog.csdn.net/m0_61916154/article/details/127090370