MyBatis-使用ResultMap操作

万能Map

假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map

UserMapper:

// “万能的Map”
int addUser2(Map<String,Object> map);

UserMapper.xml:

<!--传递map的key-->
<insert id="addUser2" parameterType="map">
    insert into mybatis.user (id, name, pwd) values (#{userid},#{userName},#{password});
</insert>

UserTest:

@Test // 用Map添加用户
public void addUser2(){
    // 1.获取SqlSession
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    // 2.获取mapper,执行sql
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    Map<String, Object> map = new HashMap<>();
    map.put("userid",4);
    map.put("userName","Hello");
    map.put("password","1433223");
    mapper.addUser2(map);
    // 3.提交事物
    sqlSession.commit();
    // 4.关闭资源
    sqlSession.close();
}

Map传递参数,直接在sql中取出key即可【parameterType="map"】

对象传递参数,直接在sql中取对象的属性即可【parameterType="Object"】

只有一个基本类型参数的情况下,可以直接在sql中取到

多个参数用Map,或者注解!

模糊查询怎么写

  1. Java代码执行的时候,传递通配符%%

    List<User> userLike = mapper.getUserLike("%李%");
    
  2. 在sql拼接中使用通配符

    select * from mybatis.user where `name` like "%"#{value}"%";
    
posted @   家兴Java  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示