MyBatis从入门到放弃五:调用存储过程(SQLServer2012)

Posted 歪头儿在帝都

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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从入门到放弃五:调用存储过程(SQLServer2012)的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis从入门到放弃七:二级缓存原理分析

MyBatis从入门到放弃六:延迟加载一级缓存二级缓存

pandas操作mysql从放弃到入门

手把手从零开始学习入门mybatis

MyBatis从入门到精通:MyBatis动态Sql之if标签的用法

myBatis 调用 Oracle 存储过程,报错,求解答