欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis調(diào)用存儲(chǔ)過程,帶in、out參數(shù)問題

 更新時(shí)間:2024年01月27日 10:20:50   作者:獵人在吃肉  
這篇文章主要介紹了mybatis調(diào)用存儲(chǔ)過程,帶in、out參數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1、需求

統(tǒng)計(jì)男性、女性的數(shù)量,如果傳入的是0,就統(tǒng)計(jì)女性的數(shù)量,否則統(tǒng)計(jì)男性的數(shù)量。

2、準(zhǔn)備數(shù)據(jù)庫表、存儲(chǔ)過程

2.1、創(chuàng)建表,導(dǎo)入數(shù)據(jù)

create table p_user(  
	id int primary key auto_increment,  
	name varchar(10),
	sex char(2)
) engine=innodb default charset=utf8 ; 

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

2.2、創(chuàng)建存儲(chǔ)過程

delimiter $
drop procedure if exists get_user_count;

create procedure get_user_count(in sex_id int, out user_count int)
begin  
	if sex_id=0 then
		select count(*) from p_user where p_user.sex='女' into user_count;
	else
		select count(*) from p_user where p_user.sex='男' into user_count;
	end if;
end $
delimiter ;

2.3、測(cè)試存儲(chǔ)過程

call get_user_count(1, @user_count);  ## 0:統(tǒng)計(jì)女性的,1:統(tǒng)計(jì)男性的
select @user_count;

結(jié)果:

3、 Mapper 接口

package com.test;

public interface  UserMapper{
	public Integer getCount(Map map);
}

4、UserMapper.xml

統(tǒng)計(jì)男性、女性的數(shù)量, 如果傳入的是0,就統(tǒng)計(jì)女性的數(shù)量,否則統(tǒng)計(jì)男性。

<mapper namespace="com.test.UserMapper">
	<!-- 
		統(tǒng)計(jì)男性、女性的數(shù)量, 如果傳入的是0,就統(tǒng)計(jì)女性的數(shù)量,否則統(tǒng)計(jì)男性
		call get_user_count(1, @user_count);
	 -->
	 <select id="getCount" statementType="CALLABLE" parameterMap="getCountMap">
	 	call get_user_count(?,?)
	 </select>
    
	 <parameterMap type="java.util.Map" id="getCountMap">
	 	<parameter property="sex_id" mode="IN" jdbcType="INTEGER"/>
	 	<parameter property="user_count" mode="OUT" jdbcType="INTEGER"/>
	 </parameterMap>
</mapper>

5、 測(cè)試調(diào)用

public class UserTest {

	public static void main(String[] args) throws IOException {
		
		Reader reader = Resources.getResourceAsReader("conf.xml");		
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);		
		SqlSession  session = sessionFactory.openSession();
		
		Map<String, Integer> paramMap = new HashMap<>();
        paramMap.put("sex_id", 0);

        session.selectOne(statement, paramMap);

        Integer userCount = paramMap.get("user_count");
        System.out.println(userCount);
	}
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java中Hashtable和HashMap的區(qū)別分析

    java中Hashtable和HashMap的區(qū)別分析

    java中Hashtable和HashMap的區(qū)別分析,需要的朋友可以參考一下
    2013-04-04
  • springboot2.2 集成 activity6實(shí)現(xiàn)請(qǐng)假流程(示例詳解)

    springboot2.2 集成 activity6實(shí)現(xiàn)請(qǐng)假流程(示例詳解)

    這篇文章主要介紹了springboot2.2 集成 activity6實(shí)現(xiàn)請(qǐng)假完整流程示例詳解,本文通過示例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java 順序表專題解讀

    Java 順序表專題解讀

    順序表,全名順序存儲(chǔ)結(jié)構(gòu),是線性表的一種。線性表用于存儲(chǔ)邏輯關(guān)系為“一對(duì)一”的數(shù)據(jù),順序表自然也不例外,不僅如此,順序表對(duì)數(shù)據(jù)物理存儲(chǔ)結(jié)構(gòu)也有要求。順序表存儲(chǔ)數(shù)據(jù)時(shí),會(huì)提前申請(qǐng)一整塊足夠大小的物理空間,然后將數(shù)據(jù)依次存儲(chǔ)起來,存儲(chǔ)時(shí)數(shù)據(jù)元素間不留縫隙
    2021-11-11
  • spring?boot中spring框架的版本升級(jí)圖文教程

    spring?boot中spring框架的版本升級(jí)圖文教程

    Spring Boot是一款基于Spring框架的快速開發(fā)框架,它提供了一系列的開箱即用的功能和組件,這篇文章主要給大家介紹了關(guān)于spring?boot中spring框架的版本升級(jí)的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作

    Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作

    大家好,本篇文章主要講的是Java實(shí)現(xiàn)單鏈表基礎(chǔ)操作,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • JAVA生成八位不重復(fù)隨機(jī)數(shù)最快的方法總結(jié)(省時(shí)間省空間)

    JAVA生成八位不重復(fù)隨機(jī)數(shù)最快的方法總結(jié)(省時(shí)間省空間)

    隨機(jī)數(shù)在實(shí)際中使用很廣泛,比如要隨即生成一個(gè)固定長(zhǎng)度的字符串、數(shù)字,這篇文章主要給大家介紹了關(guān)于JAVA生成八位不重復(fù)隨機(jī)數(shù)最快的方法,文中介紹的方法省時(shí)間省空間,需要的朋友可以參考下
    2024-03-03
  • Java工作環(huán)境的配置與Eclipse的安裝過程

    Java工作環(huán)境的配置與Eclipse的安裝過程

    這篇文章主要介紹了Java工作環(huán)境的配置與Eclipse的安裝過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • SpringBoot中YAML配置文件實(shí)例詳解

    SpringBoot中YAML配置文件實(shí)例詳解

    前面一直在使用properties配置文件,spring boot也支持yaml配置文件,下面這篇文章主要給大家介紹了關(guān)于SpringBoot中YAML配置文件的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • String與Blob互轉(zhuǎn)和file文件與Blob互轉(zhuǎn)方式

    String與Blob互轉(zhuǎn)和file文件與Blob互轉(zhuǎn)方式

    這篇文章主要介紹了String與Blob互轉(zhuǎn)和file文件與Blob互轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Java Synchronized的使用詳解

    Java Synchronized的使用詳解

    這篇文章主要介紹了Java Synchronized的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論