MyBatis使用Map与模糊查询的方法示例

 更新时间:2021年05月02日 12:10:51   作者:Mq_sir  
这篇文章主要给大家介绍了关于MyBatis使用Map与模糊查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

当我们的实体类、或者数据库里的表、字段或者参数很多,这个时候考虑使用map

一、使用map传参插入数据

1.编写Dao接口/Mapper层 使用Map做参数

 //Dao接口/Mapper层 使用Map传参
    int addUser2(Map<String,Object> map);

2.编写Mapper.xml中的sql语句

<!--    传递map的key-->
    <insert id="addUser2" parameterType="map">
        insert into firend_mq.users (id,username,password) value (#{userid},#{name},#{pwd})
    </insert>

3.编写测试类

 //使用map传参添加插入
    @Test
    public void addUser2(){

        SqlSession sqlSession = Mybatisutil.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        Map<String, Object> map = new HashMap<String, Object>();

        map.put("userid",4);
        map.put("name","好人");
        map.put("pwd",1111111);

        mapper.addUser2(map);
        sqlSession.commit();
        sqlSession.close();
    }

使用Map传参也可以批量插入数据

MyBatis 批量插入/修改/删除数据(MySql)

二、使用map修改数据

当我们的实体类、或者数据库里的表、字段或者参数很多的时候,使用一般的实体类传参,就需要将所有的字段全部写入,显然太过于繁琐,这时候使用map传入你需要更改的字段就行

代码大致相似就不放代码了。。。

三、模糊查询

1.方式一:java代码执行的时候,传递通配符% %

List<User> likelist = mapper.getUserlike("%毛%");

2.方式二:在Mapper.xml中的sql拼接中使用通配符

select * from firend_mq.users where username like "%"#{value}"%" 

实现结果:

总结:

  • Map传递参数,直接写sql语句中取出即可 {parameterType=“map”}
    优点可以在取参数#{value}的时候可以DIY,直接使用自己传入的key值
  • 对象传递参数,直接在sql中取对象的属性即可 {parameterType=“Object”}
    但是必须和实体类名字一致
  • 只有一个基本类型参数的情况下,可以直接在sql中取到
  • 多个参数用Map,或者注解

到此这篇关于MyBatis使用Map与模糊查询的文章就介绍到这了,更多相关MyBatis用Map与模糊查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java实现从网络下载多个文件

    java实现从网络下载多个文件

    这篇文章主要为大家详细介绍了java实现从网络下载多个文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • java爬虫jsoup解析HTML的工具学习

    java爬虫jsoup解析HTML的工具学习

    jsoup是一个解析HTML的第三方java库,它提供了一套非常方便的API,可使用DOM,CSS以及类jQuery的操作方法来取出和操作数据,本文就来开始jsoup的使用学习
    2022-07-07
  • java状态机方案解决订单状态扭转示例详解

    java状态机方案解决订单状态扭转示例详解

    这篇文章主要为大家介绍了java状态机方案解决订单状态扭转示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 带你了解Java中Static关键字的用法

    带你了解Java中Static关键字的用法

    这篇文章主要介绍了JAVA Static关键字的用法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下,希望能给你带来帮助
    2021-08-08
  • 图解Java经典算法插入排序的原理与实现

    图解Java经典算法插入排序的原理与实现

    插入排序的算法描述是一种简单直观的排序算法。其原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。本文将用Java语言实现插入排序算法并进行可视化,感兴趣的可以了解一下
    2022-09-09
  • springboot+thymeleaf找不到视图的解决方案

    springboot+thymeleaf找不到视图的解决方案

    这篇文章主要介绍了springboot+thymeleaf找不到视图的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 如何用java实现分页查询

    如何用java实现分页查询

    这篇文章主要介绍了如何用java实现分页查询,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java算法练习题,每天进步一点点(1)

    Java算法练习题,每天进步一点点(1)

    方法下面小编就为大家带来一篇Java算法的一道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • java单例模式使用详解

    java单例模式使用详解

    这篇文章主要介绍了java单例模式使用方法,通常它的实现方式分为懒汉式实现和饿汉式,下面是详细说明加示例,需要的朋友可以参考下
    2014-04-04
  • 详解spring security安全防护

    详解spring security安全防护

    这篇文章主要介绍了详解spring security安全防护,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07

最新评论