mybatis学习04:Map和模糊查询

mybatis学习04:Map和模糊查询

  • 万能Map:

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

    • Map传递参数,直接在SQL中取出key即可;parameterType="map"

    • 对象传递参数,直接在SQL中取对象的属性即可!parameterType="Object"

    • 只有一个基本类型的参数的情况下,可以直接在SQL中取到!parameterType="int"(可以省略)

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

      //万能Map
      int addUser2(Map<String,Object> map);
    • Mapper.xml

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

      @Test
      public void addUser2(){
         SqlSession sqlSession = MybatisUtils.getSqlSession();

         UserMapper mapper = sqlSession.getMapper(UserMapper.class);
         Map<String,Object> map=new HashMap<String, Object>();
         map.put("userId",4);
         map.put("userName","demo4");
         map.put("password","111111");
         int i = mapper.addUser2(map);
         if(i>0){
             System.out.println("删除成功");
             sqlSession.commit();//删除成功,提交事务
        }
         sqlSession.close();
      }

 

  • 模糊查询:

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

      map.put("userName","%demo%");
      select * from mybatis.user where name like #{userName}
    • 2,在SQL拼接中使用通配符:%

      map.put("userName","demo");
      select * from mybatis.user where name like "%"#{userName}"%"

        

 

 

 

posted @   gzs1024  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示