当先锋百科网

首页 1 2 3 4 5 6 7

存储过程的创建

假设存在一张表: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层的声明

<span style="white-space:pre">	</span>/**
	 * 查找两人之间是否存在关注关系
	 * @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中调用存储过程的用例,这已经能解决一些简单的开发中涉及的存储过程的使用,希望大家能通过此能开始了解存储过程的使用,至于更深层次的应用,博主同样也是初学者,会在以后尽可能多的呈现。