Mybatis各种查询接口使用详解

一、查询一个实体类对象

①创建SelectMapper接口

若sql语句查询的结果为多条时,一定不能以实现类类型作为方法的返回值

否则会抛出异常TooManyResultsException

若sql语句查询的结果为1条时,此时可以使用实体类类型或list集合类型作为方法的返回值

    /**
     * 根据id查询用户信息
     * @param id
     * @return
     */
    User getUserById(@Param("id") Integer id);

②创建SelectMapper配置文件


    

③创建测试类

    @Test
    public void testGetUserById(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
        User user = mapper.getUserById(2);
        System.out.println(user);
        sqlSession.close();
    }

二、查询一个list集合

①创建SelectMapper接口

    /**
     * 查询所有的用户信息
     * @return
     */
    List getAllUser();

②创建SelectMapper配置文件


    

③创建测试类

    @Test
    public void testGetAllUser(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
        List allUser = mapper.getAllUser();
        allUser.forEach(System.out::println);
        sqlSession.close();
    }

三、查询单个数据

①创建SelectMapper接口

    /**
     * 查询用户的总记录数
     * @return
     */
    Integer getCount();

②创建SelectMapper配置文件

在MyBatis中,对于Java中常用的类型都设置了类型别名

例如: java.lang.Integer -> int/integer

例如: int -> _int/_integer

例如: Map -> map,

例如: List -> list



    

③创建测试类

    @Test
    public void testGetCount(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
        Integer count = mapper.getCount();
        System.out.println(count);
        sqlSession.close();
    }

四、查询一个数据为map集合

①创建SelectMapper接口

    /**
     * 根据用户id查询用户信息为map集合
     * @param id
     * @return
     */
    Map getUserToMap(@Param("id") int id);

②创建SelectMapper配置文件

    
    
    

③创建测试类

    @Test
    public void testGetUserToMap(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
        Map userToMap = mapper.getUserToMap(2);
        System.out.println(userToMap);
        sqlSession.close();
    }

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

①创建SelectMapper接口

方式一:

    /**
     * 查询所有用户信息为map集合
     * @return
     * 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,此
    时可以将这些map放在一个list集合中获取
     */
//    List> getAllUserToMap();

方式二:

    /**
     * 查询所有用户信息为map集合
     * @return
     * 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,并
    且最终要以一个map的方式返回数据,此时需要通过@MapKey注解设置map集合的键,值是每条数据所对应的
    map集合
     */
    @MapKey("id")
    Map getAllUserToMap();

②创建SelectMapper配置文件

    
    

③创建测试类

    @Test
    public void testGetAllUserToMap(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
//        List> allUserToMap = mapper.getAllUserToMap();
//        allUserToMap.forEach(System.out::println);
        Map allUserToMap = mapper.getAllUserToMap();
        System.out.println(allUserToMap);
        sqlSession.close();
    }

到此这篇关于Mybatis各种查询接口使用详解的文章就介绍到这了,更多相关Mybatis查询接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Mybatis各种查询接口使用详解)