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

本文介绍如何在开发环境中通过存储过程执行一对多的关联查询,并展示了如何使用parameterType与resultMap进行参数映射,最后通过单元测试验证了存储过程的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

      如果是相对于复杂的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();
        }
    }

附单元测试截图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值