在mybatis中,使用map传递参数和进行模糊查询的方法

简介: 在mybatis中,使用map传递参数和进行模糊查询的方法

map传递参数:

使用map传递参数之实现插入操作:

在上篇文章中,我们是通过对象进行插入和修改的,每次进行操作时,都需要new一个实体类的对象,但是当实体类的属性或者字段中的参数过多时,这无疑大大增加了代码量。

针对这种情况,我们可使用Map.

举例:

第一步在接口中添加adduser2方法:

第二步:在userMapper.xml语句中修改insert语句

第三步:修改测试类

数据库中查询,该数据被成功插入:

使用map传递参数之实现查询操作:

在接口中修改该语句

修改usermapper.xml文件

测试类

查询结果:

map传递参数,直接在SQL中取出key即可,需要修改userMapper.xml文件---->parameterType=“Map的实例化对象”,对象传递参数,直接在SQL中取对象的属性即可[parameterType=“实体类名”],只有一个基本类型参数的情况下,可以直接在SQL中取到,多个参数用Map或者注解


在mybatis中进行模糊查询:

接口中代码

package dao;
import pojo.user;
import java.util.List;
public interface userMapper {
    List<user> getUserlike(String name);
}

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

usermapper.xml中的代码

测试类中的代码

方式2:在SQL拼接中使用通配符%%

usermapper.xml中的代码

测试类中的代码

如上所示,会将名字中包含“李”的所有用户信息显示出来,但是第二种传参方式并不是我们所推荐的,由于在某些时候会产生SQL注入问题

相关文章
|
SQL XML Java
MyBatis Mapper中使用limit参数的查询问题
总结而言,MyBatis中使用 `limit`参数的查询可以高度定制并且灵活,基于方法签名和XML映射文件的组合来达成多样化的查询需求。通过参数化查询和动态SQL,MyBatis可以有效地处理各种复杂情境下的数据库操作,并且将SQL语句的维护与业务代码的编写相分离,提升代码的可维护性和可阅读性。
909 13
|
安全 Java API
【Java性能优化】Map.merge()方法:告别繁琐判空,3行代码搞定统计累加!
在日常开发中,我们经常需要对Map中的值进行累加统计。}else{代码冗长,重复调用get()方法需要显式处理null值非原子操作,多线程下不安全今天要介绍的方法,可以让你用一行代码优雅解决所有这些问题!方法的基本用法和优势与传统写法的对比分析多线程安全版本的实现Stream API的终极优化方案底层实现原理和性能优化建议一句话总结是Java 8为我们提供的Map操作利器,能让你的统计代码更简洁、更安全、更高效!// 合并两个列表});简单累加。
1197 0
|
SQL XML Java
四、MyBatis获取参数值的两种方式(重点)
四、MyBatis获取参数值的两种方式(重点)
388 4
|
SQL XML Java
六、MyBatis特殊的SQL:模糊查询、动态设置表名、校验名称唯一性
六、MyBatis特殊的SQL:模糊查询、动态设置表名、校验名称唯一性
547 0
|
存储
`map()`方法在什么场景下会比 `forEach()`方法更高效?
综上所述,当需要对数组元素进行复杂的转换并生成新数组、进行链式调用和函数式编程、处理元素之间存在明确映射关系的情况以及与其他数组方法结合使用时,`map()`方法比`forEach()`方法更高效,能够使代码更加简洁、清晰和易于维护。
322 32
|
存储 JavaScript 前端开发
如何选择使用`map()`方法和`forEach()`方法?
选择使用`map()`方法还是`forEach()`方法主要取决于操作的目的、是否需要返回值、代码的可读性和维护性等因素。在实际开发中,需要根据具体的业务需求和场景来灵活选择合适的方法,以实现更高效、更易读和更易维护的代码。
290 3
WK
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
611 36
|
存储 JavaScript 前端开发
《进阶篇第8章:vuex》包括理解vuex、安装vuex、搭建vuex环境、四个map方法的使用、模块化+名命空间
《进阶篇第8章:vuex》包括理解vuex、安装vuex、搭建vuex环境、四个map方法的使用、模块化+名命空间
233 3
|
SQL Java 数据库连接
mybatis使用四:dao接口参数与mapper 接口中SQL的对应和对应方式的总结,MyBatis的parameterType传入参数类型
这篇文章是关于MyBatis中DAO接口参数与Mapper接口中SQL的对应关系,以及如何使用parameterType传入参数类型的详细总结。
702 10
|
Java
vue2知识点:vuex中四个map方法的使用,包括:mapState、mapGetters、mapMutations、mapActions
vue2知识点:vuex中四个map方法的使用,包括:mapState、mapGetters、mapMutations、mapActions
1106 1