mybatis存儲(chǔ)過(guò)程返回結(jié)果集 mybatis怎么調(diào)用存儲(chǔ)過(guò)程?
mybatis怎么調(diào)用存儲(chǔ)過(guò)程?<selectid="selectUserById"statementType="CALLABLE"useCache="false">{callselect_u
mybatis怎么調(diào)用存儲(chǔ)過(guò)程?
<selectid="selectUserById"statementType="CALLABLE"useCache="false">{callselect_user_by_id(#{userId,mode=IN},#{realname,mode=OUT,jdbcType=VARCHAR},#{username,mode=OUT,jdbcType=VARCHAR},#{email,mode=OUT,jdbcType=VARCHAR},#{phone,mode=OUT,jdbcType=VARCHAR},#{remarks,mode=OUT,jdbcType=VARCHAR},#{createDate,mode=OUT,jdbcType=TIMESTAMP})}</select>
mybatis怎么使用存儲(chǔ)過(guò)程?
1.調(diào)用沒(méi)有OUT參數(shù)的存儲(chǔ)過(guò)程: 創(chuàng)建存儲(chǔ)過(guò)程: create or replace function get_code(a1 varchar(32)) returns varchar(32) as $$ declare the_result varchar(32) begin the_result := name from t_project where id = a1 return the_result end $$ language plpgsql sqlMap配置文件:注:不使用OUT參數(shù)的存儲(chǔ)過(guò)程可以直接用 select 程序: public String generateCode(String a1) { Map
java-mybatis調(diào)用存儲(chǔ)過(guò)程有幾種方式?
通過(guò)數(shù)據(jù)庫(kù)查詢一組數(shù)據(jù),數(shù)據(jù)中包含一個(gè)表中的一條數(shù)據(jù)、2個(gè)String類型的字符串,想通過(guò)Oralce的存儲(chǔ)過(guò)程實(shí)現(xiàn)?! batis映射配置: //存儲(chǔ)過(guò)程傳入?yún)?shù) //存儲(chǔ)過(guò)程傳出參數(shù) //存儲(chǔ)過(guò)程傳出參數(shù) //存儲(chǔ)過(guò)程傳出參數(shù) {callP_DJ_GETRYANDPYRBYRYID(?)}//我的存儲(chǔ)過(guò)程 Service類調(diào)用Ibatis的代碼: MapparamMap=newHashMap() paramMap。
mybatis調(diào)用存儲(chǔ)過(guò)程怎樣用數(shù)組作為入?yún)ⅲ?/h2>
最近做個(gè)項(xiàng)目有很多的報(bào)表統(tǒng)計(jì),涉及到幾十張表抽取數(shù)據(jù),形成一系列統(tǒng)計(jì)數(shù)據(jù)。
舉個(gè)例子,比如統(tǒng)計(jì)一個(gè)單位不同職務(wù)級(jí)別女人數(shù)量、少數(shù)民族數(shù)量、30歲以上人員數(shù)量,40以上人員數(shù)量等。如: 董事長(zhǎng):0 0 0 1 中層領(lǐng)導(dǎo):2 2 3 8 職員:20 40 80 200 剛開(kāi)始想辦法拼成了一個(gè)超級(jí)長(zhǎng)的sql來(lái)做,但是最后長(zhǎng)度超過(guò)vachar2的最大長(zhǎng)度了,雖然有其他辦法解決,雖然最大sql看起來(lái)很美好,但是想想后期的優(yōu)化和維護(hù),還是決定重新來(lái)規(guī)劃。中間的過(guò)程就不說(shuō)了,最終確定先定義一行數(shù)據(jù)存number型object(類似一維數(shù)組),形式如(0,0,1)。然后放到二維數(shù)組里。閑言少敘,如下定義: [html] view plaincopy在CODE上查看代碼片派生到我的代碼片 create or replace TYPE C_ROW IS OBJECT( COUNT_SEX NUMBER, --性別女統(tǒng)計(jì) COUNT_NATION NUMBER, --少數(shù)民族統(tǒng)計(jì) COUNT_30AGE NUMBER --30歲統(tǒng)計(jì) ) [html] view plaincopy在CODE上查看代碼片派生到我的代碼片 create or replace TYPE C_ROW_CLM IS TABLE OF C_ROW 關(guān)于以上的語(yǔ)法我就不解釋了。C_ROW_CLM 就是二維數(shù)組。一個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程如下:就是往二維數(shù)組放了三列。