MyBatis传入多个参数时parameterType的写法
更新时间:2022年12月22日 14:43:10 作者:强钦钦
这篇文章主要介绍了MyBatis传入多个参数时parameterType的写法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
MyBatis传入多个参数时parameterType写法
方法1:对象
1.保证类里有构造函数
public Student(Integer SID, String sname, String ssex, Integer sage) { this.SID = SID; Sname = sname; Ssex = ssex; Sage = sage; }
2.接口里方法传对象
public int insertStudent(Student student);
3.Student Mapper.xml里
<insert id="insertStudent" parameterType="com.tulun.maventest.pojo.Student" > insert into student(SID, Sname, Sage, Ssex) values (#{SID}, #{Sname} ,#{Sage}, #{Ssex} ) </insert>
4.MyBatisDemo的insertStudent() 里
StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); Student student=new Student(10,"小明","男",24); System.out.println(mapper.insertStudent(student)); sqlSession.commit();//事务
方法2:Map
原理是将参数放到HashMap里,传一个Map对象,通过键值对的形式获取
1.xml文件
<update id="updateSnameById" parameterType="Map" > update Student set sname = #{sname} where sid = #{sid} </update>
2.接口
public int updateSnameById(Map map);
3.test.java里
Map<String,String> map=new HashMap<String,String>(); map.put("sid","4"); map.put("sname","刘能"); System.out.println(mapper.updateSnameById(map)); sqlSession.commit();//
方法3:@Param()
在接口里面该方法的参数前面加注解
1.接口
public int updateSnameById(@Param(value="sid")Integer sid,@Param(value="sname") String sname);
2.xml文件
<update id="updateSnameById" parameterType="com.tulun.maventest.pojo.Student" > update Student set sname = #{sname} where sid = #{sid} </update>
3.test.java
System.out.println(mapper.updateSnameById(4, "刘心晶")); sqlSession.commit();//事务
MyBatis传入多个参数 批量更新
Service调用
Map<String, Object> params = new HashMap<>(); List<Long> ids = new ArrayList<>(); Long donwCnt = 20L; params.put("ids", ids); params.put("downCnt", donwCnt); boolean result = userMapper.batchUpdateByIds(params);
Mapper 方法
boolean batchUpdateByIds(Map<String, Object> params) throws Exception;
Xml内容
<update id="batchUpdateByIds" parameterType="java.util.Map" > update user <set> down_cnt = #{downCnt} where id in <foreach collection="ids" index="index" item="item" open="(" separator="," close=")" > #{item} </foreach> </set> </update>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
idea 访问html页面端口号显示的是63342而不是8080
这篇文章主要介绍了idea 访问html页面端口号显示的是63342而不是8080,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08SpringBoot中的ThreadLocal保存请求用户信息的实例demo
线程局部变量,创建一个线程变量后,针对这个变量可以让每个线程拥有自己的变量副本,每个线程是访问的自己的副本,与其他线程的相互独立,本文介绍SpringBoot中的ThreadLocal保存请求用户信息,需要的朋友可以参考下2024-05-05SpringBoot利用限速器RateLimiter实现单机限流的示例代码
本文主要介绍了SpringBoot利用限速器RateLimiter实现单机限流的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-01-01
最新评论