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排序高级之选择排序实现方法,较为全面的分析了选择排序的原理与具体实现技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • 关于Spring MVC同名参数绑定问题的解决方法

    关于Spring MVC同名参数绑定问题的解决方法

    Spring MVC中的参数绑定还是蛮重要的,最近在使用中遇到了同名参数绑定的问题,想着总结分享出来,下面这篇文章主要给大家介绍了关于Spring MVC同名参数绑定问题的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • SpringMVC中日期格式的转换

    SpringMVC中日期格式的转换

    本文主要介绍了SpringMVC中日期格式转换的相关知识:用来解决日期提交转换异常的问题。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • 快速解决跨域请求问题:jsonp和CORS

    快速解决跨域请求问题:jsonp和CORS

    这篇文章主要介绍了快速解决跨域请求问题:jsonp和CORS,涉及jsonp和CORS的介绍,分享了前端 jQuery 写法,后端 SpringMVC 配置,后端非 SpringMVC 配置等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-11-11
  • Java定时任务ScheduledThreadPoolExecutor示例详解

    Java定时任务ScheduledThreadPoolExecutor示例详解

    这篇文章主要介绍了Java定时任务ScheduledThreadPoolExecutor示例详解,这里使用scheduleAtFixedRate方法安排一个任务,该任务是一个 Runnable 匿名类,其run方法中调用了new LoginViewTimeTask().loginStatisticsHandle()方法,需要的朋友可以参考下
    2023-11-11
  • 学习Java HashMap,看这篇就够了

    学习Java HashMap,看这篇就够了

    这篇文章主要介绍了Java HashMap的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • SpringBoot2.6.3集成quartz的方式

    SpringBoot2.6.3集成quartz的方式

    quartz是java里头定时任务的经典开源实现,这里讲述一下如何在SpringBoot2.6.3集成quartz,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-02-02
  • Java向List集合中批量添加元素的实现方法

    Java向List集合中批量添加元素的实现方法

    这篇文章主要介绍了Java向List集合中批量添加元素的实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Dubbo新版本zk注册中心连接问题及解决

    Dubbo新版本zk注册中心连接问题及解决

    这篇文章主要介绍了Dubbo新版本zk注册中心连接问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Gateway+Swagger2配置聚合文档方式

    Gateway+Swagger2配置聚合文档方式

    这篇文章主要介绍了Gateway+Swagger2配置聚合文档方式,具有很好的参考价值,希望对大家有所帮助。
    2023-03-03

最新评论