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

  • 相关阅读:
    Qt打开ui文件经常报错
    随机森林----评论情感分析系统
    批量删除所有文件名称中的英文字母
    Android 漏洞修复
    ORB-SLAM3算法2之开源数据集运行ORB-SLAM3生成轨迹并用evo工具评估轨迹
    【Vue全家桶】Vue-Router (详解)
    分割数据清洗
    NOIP 2022 游记
    python virtualenv创建虚拟环境
    Typora导出的PDF目录标题自动加编号
  • 原文地址:https://blog.csdn.net/m0_61916154/article/details/127090370