【Mybatis】MyBatis的各种查询功能(查实体类对象,查集合,查单个数据,查询结果为map集合)

导读:本篇文章讲解 【Mybatis】MyBatis的各种查询功能(查实体类对象,查集合,查单个数据,查询结果为map集合),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.查询一个实体类对象

 /*
    * 根据用户id查询
    * */
    User GetUserByID(@Param("id") int id);
<!--    User GetUserByID();-->
    <select id="GetUserByID" resultType="com.li.pojo.User">
        select * from USER where id=#{id}
    </select>
@Test
    public void GetUserById(){
        SqlSession sqlSession = GetSqlSession.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.GetUserByID(1);
        System.out.println(user);
    }

2.查询一个list集合

/*
    * 查询所有用户信息
    * */
    List<User> GetAllUser();
<!--    List<User> GetAllUser();-->
    <select id="GetAllUser" resultType="com.li.pojo.User">
        select * from USER
    </select>
 @Test
    public void GetAllUser(){
        SqlSession sqlSession = GetSqlSession.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> list = mapper.getAllUser();
        list.forEach(System.out::println);
    }

3.查询单个数据

/*
    * 查询单个数据,例如总行数
    * */
    Integer GetCount();
<!--        Integer GetCount();-->
    <select id="GetCount" resultType="java.lang.Integer">
        select count(*) from user
    </select>
@Test
    public void GetCount(){
        SqlSession sqlSession = GetSqlSession.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        Integer integer = mapper.GetCount();
        System.out.println(integer);
    }

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

map集合属性不固定,比如有些属性没有值就不会查询出来

/**
     * 根据用户id查询用户信息为map集合
     */
    Map<String, Object> getUserToMap(@Param("id") int id);
<!--    Map<String, Object> getUserToMap(@Param("id") int id);-->
    <select id="getUserToMap" resultType="map">
        select * from user where id=#{id}
    </select>
@Test
    public void getUserToMap(){
        SqlSession sqlSession = GetSqlSession.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        Map<String, Object> map = mapper.getUserToMap(1);
        System.out.println(map);
    }

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

方法1

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

方法2

/**
* 查询所有用户信息为map集合
* @return
* 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,并
且最终要以一个map的方式返回数据,此时需要通过@MapKey注解设置map集合的键,值是每条数据所对应的
map集合
*/
@MapKey("id")
Map<String, Object> getAllUserToMap();
<!--Map<String, Object> getAllUserToMap();-->
<!--
{
1={password=123456, sex=男, id=1, age=23, username=admin},
2={password=123456, sex=男, id=2, age=23, username=张三},
3={password=123456, sex=男, id=3, age=23, username=张三}
}
-->
<select id="getAllUserToMap" resultType="map">
select * from t_user
</select>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82252.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!