前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Mybatis】MyBatis的各种查询功能(查实体类对象,查集合,查单个数据,查询结果为map集合)

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

作者头像
小尘要自信
发布2023-10-10 15:42:07
1.3K0
发布2023-10-10 15:42:07
举报
文章被收录于专栏:CSDN小尘要自信

1.查询一个实体类对象

代码语言:javascript
复制
 /*
    * 根据用户id查询
    * */
    User GetUserByID(@Param("id") int id);
代码语言:javascript
复制
<!--    User GetUserByID();-->
    <select id="GetUserByID" resultType="com.li.pojo.User">
        select * from USER where id=#{id}
    </select>
代码语言:javascript
复制
@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集合

代码语言:javascript
复制
/*
    * 查询所有用户信息
    * */
    List<User> GetAllUser();
代码语言:javascript
复制
<!--    List<User> GetAllUser();-->
    <select id="GetAllUser" resultType="com.li.pojo.User">
        select * from USER
    </select>
代码语言:javascript
复制
 @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.查询单个数据

代码语言:javascript
复制
/*
    * 查询单个数据,例如总行数
    * */
    Integer GetCount();
代码语言:javascript
复制
<!--        Integer GetCount();-->
    <select id="GetCount" resultType="java.lang.Integer">
        select count(*) from user
    </select>
代码语言:javascript
复制
@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集合属性不固定,比如有些属性没有值就不会查询出来

代码语言:javascript
复制
/**
     * 根据用户id查询用户信息为map集合
     */
    Map<String, Object> getUserToMap(@Param("id") int id);
代码语言:javascript
复制
<!--    Map<String, Object> getUserToMap(@Param("id") int id);-->
    <select id="getUserToMap" resultType="map">
        select * from user where id=#{id}
    </select>
代码语言:javascript
复制
@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

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

方法2

代码语言:javascript
复制
/**
* 查询所有用户信息为map集合
* @return
* 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,并
且最终要以一个map的方式返回数据,此时需要通过@MapKey注解设置map集合的键,值是每条数据所对应的
map集合
*/
@MapKey("id")
Map<String, Object> getAllUserToMap();
代码语言:javascript
复制
<!--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>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.查询一个实体类对象
  • 2.查询一个list集合
  • 3.查询单个数据
  • 4.查询一条数据为map集合
  • 5.查询多条数据为map集合
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档