MyBatis的各种查询功能4(查询多条数据为map集合)

查询多条数据为map集合

方式1(用的较多)

  • 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,此时可以将这些map放在一个list集合中获取

方式2

  • 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,并且最终要以一个map的方式返回数据,此时需要通过@MapKey注解设置map集合的键,可以将查询的某个字段的值作为map的键,值是每条数据所对应的map集合

SelectMapper 接口

public interface SelectMapper {
    /**
     * 查询所有的用户信息为map集合
     * @return
     */
    //List<Map<String,Object>> getAllUserToMap();
    @MapKey("id")
    Map<String,Object> getAllUserToMap();
}

MyBatis的映射文件 SelectMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.mapper.SelectMapper">
    <!--Map<String,Object> getAllUserToMap();-->
    <select id="getAllUserToMap" resultType="map">
        select * from t_user
    </select>
</mapper>

测试

public class SelectMapperTest {
    @Test
    public void testGetAllUserToMap(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
//        List<Map<String, Object>> list = mapper.getAllUserToMap();
//        System.out.println(list);
        Map<String, Object> map = mapper.getAllUserToMap();
        System.out.println(map);
    }
}

方式一

方式二

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis 是一款优秀的 ORM 框架,它提供了丰富的 API 可以快速地实现增删改查操作,以下是 MyBatis 的增删改查示例代码: 查询一个实体类对象: ``` // 根据 id 查询一个实体类对象 public User selectUserById(int id) { try(SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); return userMapper.selectUserById(id); } } ``` 查询 List 集合: ``` // 查询所有的用户 public List<User> selectAllUsers() { try(SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); return userMapper.selectAllUsers(); } } ``` 查询多条数据Map 集合: ``` // 根据性别查询用户,返回 Map 集合 public List<Map<String, Object>> selectUsersByGender(String gender) { try(SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); return userMapper.selectUsersByGender(gender); } } ``` 自定义增删改查的具体内容: ``` // 添加用户 public int insertUser(User user) { try(SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); return userMapper.insertUser(user); } } // 更新用户 public int updateUser(User user) { try(SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); return userMapper.updateUser(user); } } // 删除用户 public int deleteUser(int id) { try(SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); return userMapper.deleteUser(id); } } ``` 以上是 MyBatis 的增删改查示例代码,其中 `UserMapper` 是一个接口,定义了对 `User` 实体类的增删改查方法。需要注意的是,这些示例代码都是基于 MyBatis 注解方式实现的,也可以使用 XML 配置文件的方式来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值