在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注入问题

相关文章
|
4月前
|
SQL Java 数据库连接
Mybatis之核心配置文件详解、默认类型别名、Mybatis获取参数值的两种方式
【1月更文挑战第3天】 一、核心配置文件详解 二、默认的类型别名 三、MyBatis的增删改查 四、MyBatis获取参数值的两种方式 1、单个字面量类型的参数 2、多个字面量类型的参数 3、map集合类型的参数 4、实体类类型的参数 5、使用@Param标识参数
62 2
Mybatis之核心配置文件详解、默认类型别名、Mybatis获取参数值的两种方式
|
5月前
|
Java 数据库连接 mybatis
mybatis 返回map
mybatis 返回map
121 0
|
20天前
|
XML Java 数据库连接
调用mybatisplus的封装CURD方法出现报错
调用mybatisplus的封装CURD方法出现报错
12 0
|
2月前
|
XML SQL Java
Mybatis接口Mapper内的方法为啥不能重载吗
Mybatis接口Mapper内的方法为啥不能重载吗
20 0
|
2月前
|
SQL 存储 Kubernetes
Seata常见问题之mybatisplus的批量插入方法报SQL错误如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
43 0
|
2月前
|
SQL Java 数据库连接
Mybatis拦截器实现带参数SQL语句打印
Mybatis拦截器实现带参数SQL语句打印
|
4月前
|
SQL 缓存 Java
JAVAEE框架技术之8-myBatis ORM框架技术参数和动态SQL语句
JAVAEE框架技术之8-myBatis ORM框架技术参数和动态SQL语句
64 0
JAVAEE框架技术之8-myBatis ORM框架技术参数和动态SQL语句
|
4月前
|
SQL XML Java
关于mybatis-plus写自定义方法(自定义sql)
关于mybatis-plus写自定义方法(自定义sql)
80 1
|
4月前
|
Java 数据库连接 测试技术
一文彻底搞懂Mybatis系列(八)之Mybatis参数处理
一文彻底搞懂Mybatis系列(八)之Mybatis参数处理
127 0