mybatis 调用存储过程进行批量修改操作(只需要一次调用存储过程),不知道如何配置配置文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 调用存储过程进行批量修改操作(只需要一次调用存储过程),不知道如何配置配置文件相关的知识,希望对你有一定的参考价值。
userInfo
private String name;
private int age;
///.....getter,setter method
test.java
//.....
list<userInfo> user=new ArrayList<userInfo>();
for (i=0;i<2;i++)
userInfo uu=new userInfo();
uu.setName("test"+i);
uu.setAge(i+20);
user.add(uu);
//调用存储过程
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("i_list",user);
userInfoMapper.addObj(map);
///.....
配置文件中,如何进行配置呢?
<!-- 添加用户-->
<select id="addObj" parameterType="java.util.Map" statementType="CALLABLE">
call SP_UPDATECUSTOMERGRADEINFO(
#i_list, jdbcType=这里应该填什么类型呢?, mode=IN,
#o_errorNumber, jdbcType=INTEGER, mode=OUT
)
</select>
配置文件中,如何进行配置呢?
<!-- 添加用户-->
<select id="addObj" parameterType="java.util.Map" statementType="CALLABLE">
call SP_UPDATECUSTOMERGRADEINFO(
#i_list, jdbcType=这里应该填什么类型呢?, mode=IN,
#o_errorNumber, jdbcType=INTEGER, mode=OUT
)
</select>
以及oracle存储过程怎么写呢?实现批量添加用户
public static void main(String[] args)
Circle C=new Circle(4);
Rectangles Rt=new Rectangles(4, 4);
Triangle T=new Triangle(6,7);
C.Area();
Rt.Area();
T.Area();
MyBatis从入门到放弃五:调用存储过程(SQLServer2012)
前言
如果是相对于复杂的SQL逻辑我们肯定是基于存储过程开发,这篇学习下执行存储过程,调用存储过程如果参数较多我们可以创建parameterMap。
搭建开发环境
开发环境和上篇文章保持相同
创建存储过程
存储过程执行一对多的关联查询
修改mapper.xml
<select id="testProc" parameterType="int" resultMap="authorResultMap"> exec usp_getAuthorBlogsById #{id} </select>
单元测试
@Test public void testProc(){ SqlSession sqlSession=null; try{ sqlSession=sqlSessionFactory.openSession(); Author author = sqlSession.selectOne("com.autohome.mapper.Author.testProc",1); System.out.println("作者信息 id:"+author.getId()+",name:"+author.getName()); System.out.println("作者博客:"); for(Blog blog:author.getBlogs()){ System.out.println("id:"+blog.getId()+",title:"+blog.getTitle()+",category:"+blog.getCategory()); } }catch(Exception e){ e.printStackTrace(); }finally { sqlSession.close(); } }
附单元测试截图
以上是关于mybatis 调用存储过程进行批量修改操作(只需要一次调用存储过程),不知道如何配置配置文件的主要内容,如果未能解决你的问题,请参考以下文章