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存储过程怎么写呢?实现批量添加用户

参考技术A public class test

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 调用存储过程进行批量修改操作(只需要一次调用存储过程),不知道如何配置配置文件的主要内容,如果未能解决你的问题,请参考以下文章

mybatis如何对db2数据库进行批量修改操作

c#调用存储过程实现批量增加和修改数据

Mybatis 批量操作-删除修改和查询

mybatis 批量操作数据

MySQL+MyBatis下批量修改数据的问题

MS SQL 批量给存储过程/函数授权