Mybatis中运用小技巧(三)存储过程的运用

存储过程的创建

假设存在一张表:Follow(关注表),其表结构如下:

其中id需要是自增。
假设我们需要实现的存储过程是能根据userId1和userId2的值选择出一条记录。
博主使用的是Navicat,因此创建存储过程的步骤为:
1、点击“函数”:

2、点击“新建函数”:

3、选择“过程”,点击“下一步”:

4、新建两个参数,代表传进去的两个参数userId1和userId2的值,分别取名为a和b,点击完成:


5、将a、b两个 变量重命名为@userId1和@userId2,这是博主的习惯,大家也可以直接利用a、b,然后写上语句即可:

6、保存,命名为“proc_FollowByUserId1AndUserId2Select”,此处的命名规则可以参考我之前的写的 sql 存储过程命名规范


项目中Mapper层的声明

/* 查找两人之间是否存在关注关系
* @param id
* @param id2
* @return
*/
Follow selectByUserId1AndUserId2(Integer id, Integer id2);

FollowMapper.xml中的写法

  <resultMap id="BaseResultMap" type="cn.cslg.microblog.PO.Follow" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="userId1" property="userid1" jdbcType="INTEGER" />
    <result column="userId2" property="userid2" jdbcType="INTEGER" />
  </resultMap>
  
  <select id="selectByUserId1AndUserId2" resultMap="BaseResultMap">
    {call proc_FollowByUserId1AndUserId2Select(
    	#{0, jdbcType=INTEGER, mode=IN},	#{1, jdbcType=INTEGER, mode=IN})}
  </select>
这样就是最简单的在Mybatis中调用存储过程的用例,这已经能解决一些简单的开发中涉及的存储过程的使用

猜你喜欢

转载自blog.csdn.net/u012843873/article/details/80298232