8.调用存储过程

8.调用存储过程


8.1. 提出需求:

         查询得到男性或女性的数量, 如果传入的是0就女性否则是男性

8.2. 准备数据库表和存储过程:

create table p_user( 

         idint primary key auto_increment, 

         namevarchar(10),

         sexchar(2)

);

 

insert into p_user(name,sex)values('A',"男"); 

insert into p_user(name,sex)values('B',"女"); 

insert into p_user(name,sex)values('C',"男"); 

 

#创建存储过程(查询得到男性或女性的数量, 如果传入的是0就女性否则是男性)

DELIMITER $

CREATE PROCEDURE mybatis.ges_user_count(INsex_id INT, OUT user_count INT)

BEGIN 

IF sex_id=0 THEN

SELECT COUNT(*) FROM mybatis.p_user WHEREp_user.sex='女' INTO user_count;

ELSE

SELECT COUNT(*) FROM mybatis.p_user WHEREp_user.sex='男' INTO user_count;

END IF;

END

$

 创建后得到一个存储过程



#调用存储过程

DELIMITER ;

SET @user_count = 0;

CALL mybatis.ges_user_count(1,@user_count);

SELECT@user_count;

8.3. 创建表的实体类

public class User {

         privateString id;

         privateString name;

         privateString sex;

}

8.4. userMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">




<mapper namespace="com.mybatis.test8.userMapper">


   <!-- 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 -->
   
   <select id="getUserCount" parameterMap="getUserCountMap" statementType="CALLABLE">
      CALL mybatis.ges_user_count(?, ?);
   </select>
   
   <!-- parameterMap.put("sexid",0);
parameterMap.put("usercount", -1); -->

   <parameterMap type="java.util.Map" id="getUserCountMap">
      <parameter property="sexid" mode="IN" jdbcType="INTEGER"/>
      <parameter property="usercount" mode="OUT" jdbcType="INTEGER"/>
   </parameterMap>


</mapper>


8.5. 测试调用:

public class Test8 {


@Test
public void getUser() throws IOException {

SqlSessionFactory factory = MybatisUtils.getFactory();
SqlSession session = factory.openSession();

String statement = "com.mybatis.test8.userMapper.getUserCount";

Map<String,Integer> parameterMap = new HashMap<>();
parameterMap.put("sexid",0);
parameterMap.put("usercount", -1);

session.selectOne(statement, parameterMap);

Integer result = parameterMap.get("usercount");
System.out.println(result);
}


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值