在mybatis中如何将Map作为参数
更新时间:2024年05月10日 09:17:47 作者:慈母守中线~
这篇文章主要介绍了在mybatis中如何将Map作为参数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
在mybatis中将Map作为参数
在接口中声明方法并把参数设为Map集合
package com.dao;
import com.pojo.User;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface UserMapper {
int addUser11(Map<String,Object> map);
}在实现类中给Map赋值
package com.dao;
import com.pojo.User;
import com.uitl.BaseDaoUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class UserMapperTest {
@Test
public void addUser11(){
SqlSession sqlSession = BaseDaoUtil.openSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String,Object> map = new HashMap<>();
map.put("id",9);
map.put("userName","阿峰");
map.put("pwd","1231321");
int i = mapper.addUser11(map);
if (i ==0 ){
System.out.println("失败");
}else {
System.out.println("添加成功");
}
sqlSession.close();
}
}
三,在映射的 SQL 语句文件中编写相应的SQL语句
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dao.UserMapper">
<insert id="addUser11" parameterType="map">
insert into user (id,userName,pad ) values (#{id},#{userName},#{pwd});
</insert>
</mapper>其中 parameterType 应为map 因为是mybatis自动生成好的别名
mybatis遇到多个参数时,使用map
我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map!
//万能的Map
int addUser2(Map<String,Object> map);
mapper.xml
<!--对象中的属性,可以直接取出来 传递map的key-->
<insert id="addUser" parameterType="map">
insert into mybatis.user (id, pwd) values (#{userid},#{passWord});
</insert>
Test
@Test
public void addUser2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String, Object> map = new HashMap<String, Object>();
map.put("userid",5);
map.put("passWord","2222333");
mapper.addUser2(map);
sqlSession.close();
}
注意:
- Map传递参数,直接在sql中取出key即可! 【parameterType=“map”】
- 对象传递参数,直接在sql中取对象的属性即可!【parameterType=“Object”】
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
springboot 自定义LocaleResolver实现切换语言
我们在做项目的时候,往往有很多项目需要根据用户的需要来切换不同的语言,使用国际化就可以轻松解决。这篇文章主要介绍了springboot 自定义LocaleResolver切换语言,需要的朋友可以参考下2019-10-10
SpringMVC源码之HandlerMapping处理器映射器解析
这篇文章主要介绍了SpringMVC源码之HandlerMapping处理器映射器解析,在Spring MVC中,HandlerMapping处理器映射器用于确定请求处理器对象,请求处理器可以是任何对象,只要它们使用了@Controller注解或注解@RequestMapping,需要的朋友可以参考下2023-08-08
Java中通过ZipOutputStream类如何将多个文件打成zip
ZipOutputStream 是Java中用于创建ZIP文件的类,它是 java.util.zip 包中的一部分,通过使用 ZipOutputStream ,可以将多个文件压缩到一个ZIP文件中,这篇文章主要介绍了Java中(ZipOutputStream)如何将多个文件打成zip,需要的朋友可以参考下2023-09-09
Spring boot集成Go-FastDFS实现图片上传删除等功能实现
这篇文章主要介绍了Spring boot集成Go-FastDFS实现图片上传删除等功能实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04
springboot+mybatis配置控制台打印sql日志的方法
这篇文章主要介绍了springboot+mybatis配置控制台打印sql日志的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08


最新评论