前言
如果是相对于复杂的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(); } }
附单元测试截图
时间: 2024-10-13 02:09:46