• 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. }

  • 相关阅读:
    大一学生网页课程作业 南京介绍网页设计 学生家乡网页设计作品静态 HTML网页模板源码 html我的家乡网页作业
    【Vue基础系列】vue-router 万字详解,一篇彻底搞懂
    电力系统机组组合优化调度(IEEE14节点、IEEE30节点、IEEE118节点)(Matlab代码实现)
    移动app测试的7个关键点,建议收藏
    express中间件(简介,流程,分类介绍)
    dubbo+zookeeper环境配置及搭建
    java毕业生设计校园外卖系统Web端计算机源码+系统+mysql+调试部署+lw
    y47.第三章 Kubernetes从入门到精通 -- ceph 在k8s中的使用案例(二十)
    2022.10.19 英语背诵
    SOCKS5代理与网络安全的趣味之旅
  • 原文地址:https://blog.csdn.net/m0_61916154/article/details/127090370