博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七、Mybatis调用存储过程
阅读量:4072 次
发布时间:2019-05-25

本文共 2483 字,大约阅读时间需要 8 分钟。

7.1准备数据库表和存储过程

create table p_user(id int primary key auto_increment,name varchar(10),sex char(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(IN sex_id INT, OUT user_count INT)BEGINIF sex_id=0 THENSELECT COUNT(*) FROM mybatis.p_user WHERE p_user.sex='女' INTO user_count;ELSESELECT COUNT(*) FROM mybatis.p_user WHERE p_user.sex='男' INTO user_count;END IF;END$
#调用存储过程DELIMITER ;SET @user_count = 0;CALL mybatis.ges_user_count(1, @user_count);SELECT @user_count;

7.2创建表的实体类

PUser.java

package com.atguigu.mybatis_test.bean;public class PUser {
private String id; private String name; private String sex; public PUser() { super(); } public PUser(String id, String name, String sex) { super(); this.id = id; this.name = name; this.sex = sex; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "PUser [id=" + id + ", name=" + name + ", sex=" + sex + "]"; }}

7.3创建映射文件

PUserMapper.xml

  • parameterMap:引用
  • statementType:指定Statement的真是类型:CALLABLE执行调用存储过程的语句
  • :定义多个参数的键值对
  • type:需要传递的参数的真实类型 java.util.Map
  • :指定一个参数key-value

7.4将映射文件注册到config.xml中

config.xml

7.5测试类

Test7.java

package com.test;import java.io.IOException;import java.util.HashMap;import java.util.Map;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import com.util.MybatisUtil;public class Test7 {    @Test    public void testGetUserCount() throws IOException    {        SqlSession session=MybatisUtil.getSession();        String statement="com.config.PUserMapper.getUserCount";        Map
parmeterMap=new HashMap
(); parmeterMap.put("sexid", 0); parmeterMap.put("usercount", -1); session.selectOne(statement, parmeterMap); Integer result=parmeterMap.get("usercount"); System.out.println(result); session.close(); }}

转载地址:http://mfkni.baihongyu.com/

你可能感兴趣的文章
UNITY自带的PACKAGE的UTILITY 里面有一个自带的FPS COUNTER
查看>>
AssetBundle Manager & Example Scenes
查看>>
fixed数据类型
查看>>
cg数据类型
查看>>
地图四叉树一般用在GIS中,在游戏寻路中2D游戏中一般用2维数组就够了
查看>>
Dijkstra算法(三)之 Java详解
查看>>
float4与half4数据类型
查看>>
安装Windows更新程序遇到错误:0x80070422
查看>>
Fresnel Reflection - 菲涅尔反射
查看>>
BRDF 光照模型
查看>>
unity编辑器的搜索框好特么坑啊,居然不支持*号通配符
查看>>
场景中,并没有灯源的存在,但是cube却会有灯光照射的反应,这就是Light Probe Group的作用。...
查看>>
unity3d 为什么要烘焙?烘焙作用是为了什么?
查看>>
[AR]高通Vuforia Getting Started
查看>>
Unity ios、android、pc一键打包(一)
查看>>
欧几里得空间
查看>>
今天写shader流光效果,shader代码少了个括号,unity shader compiler卡死且不提示原因...
查看>>
Unity shader saturate
查看>>
_LightColor0将会是主要的directional light的颜色。
查看>>
Unity的Shader如何控制投影颜色
查看>>