详解Mybatis中万能的Map和模糊查询写法

 更新时间:2021年03月08日 09:03:21   作者:一万年太久只争朝夕  
这篇文章主要介绍了Mybatis中万能的Map和模糊查询写法的相关资料,帮助大家更好的理解和使用Mybatis,感兴趣的朋友可以了解下

1、万能的Map

假设,我们的实体类,或者数据库中的表,字段或参数过多,我们接口参数以前用的是实体类,现在考虑使用下Map!

接口:

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

mapper.xml:

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

测试方法:

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

 UserMapper mapper = sqlSession.getMapper(UserMapper.class);

 Map<String, Object> map = new HashMap<>();

 map.put("userid",5);
 map.put("userName","Hello");
 map.put("passWord","2222333");

 mapper.addUser2(map);

 sqlSession.commit();
 sqlSession.close();
}

现在通过Map传递参数,直接再sql中取出key即可!

而以前对象传递参数,需要再sql取对象相对应的属性名才行!

而以前对象传递参数,需要再sql取对象相对应的属性名才行!

只有一个基本类型参数的情况下,可以直接在sql中取到!(parameterType不写都可以)

反正多个参数用Map,或者注解(后面记录的文章会说到)!

2、模糊查询写法

模糊查询怎么写?

1.java代码执行的时候传递通配符% %(比较安全,能防止sql注入,推荐)

List<User> userList = mapper.getUserLike("%李%");

​2.在sql拼接中使用通配符!(不能防sql注入)

<select id="getUserLike" resultType="com.kuang.pojo.User">
 select * from mybatis.user where name like "%"#{value}"%"
</select> 

以上就是详解Mybatis中万能的Map和模糊查询写法的详细内容,更多关于Mybatis Map和模糊查询写法的资料请关注脚本之家其它相关文章!

相关文章

  • 利用Java判断一个字符串是否包含某个字符

    利用Java判断一个字符串是否包含某个字符

    在Java编程中,字符串操作是日常开发的常见任务,涉及判断、查找、替换等多种操作,文章介绍了如何在Java中判断字符串是否包含某字符,提供了使用contains方法和字符数组遍历两种基础方法,需要的朋友可以参考下
    2024-11-11
  • 简单了解JAVA变量类型及代码实例

    简单了解JAVA变量类型及代码实例

    这篇文章主要介绍了简单了解JAVA变量类型及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • JAVA 静态代理模式详解及实例应用

    JAVA 静态代理模式详解及实例应用

    这篇文章主要介绍了JAVA 静态代理模式详解及实例应用的相关资料,这里举例说明java 静态代理模式该如何使用,帮助大家学习参考,需要的朋友可以参考下
    2016-11-11
  • SpringBoot使用过滤器、拦截器和监听器的案例代码(Springboot搭建java项目)

    SpringBoot使用过滤器、拦截器和监听器的案例代码(Springboot搭建java项目)

    这篇文章主要介绍了SpringBoot使用过滤器、拦截器和监听器(Springboot搭建java项目),本文是基于Springboot搭建java项目,结合案例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • SpringBoot之核心依赖和自动配置方式

    SpringBoot之核心依赖和自动配置方式

    这篇文章主要介绍了SpringBoot之核心依赖和自动配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Spring使用AspectJ注解和XML配置实现AOP

    Spring使用AspectJ注解和XML配置实现AOP

    这篇文章主要介绍了Spring使用AspectJ注解和XML配置实现AOP的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • SpringBoot 多任务并行+线程池处理的实现

    SpringBoot 多任务并行+线程池处理的实现

    这篇文章主要介绍了SpringBoot 多任务并行+线程池处理的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 基于JVM性能监控命令介绍

    基于JVM性能监控命令介绍

    下面小编就为大家带来一篇基于JVM性能监控命令介绍。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • JEE与Spring Boot代码性能比较分析

    JEE与Spring Boot代码性能比较分析

    JavaEE与Spring Boot其实很难比较测试,前者适合单体SOA架构,后者适合微服务,但是还是有好事者把两者放在一起比较性能。这篇文章主要介绍了JEE与Spring Boot代码性能比较,需要的朋友可以参考下
    2018-11-11
  • Spring详细讲解@Autowired注解

    Spring详细讲解@Autowired注解

    @Autowired注解可以用在类属性,构造函数,setter方法和函数参数上,该注解可以准确地控制bean在何处如何自动装配的过程。在默认情况下,该注解是类型驱动的注入
    2022-06-06

最新评论