如题所述
1.è°ç¨æ²¡æOUTåæ°çåå¨è¿ç¨ï¼
å建åå¨è¿ç¨ï¼
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é ç½®æ件ï¼
<select id="f1" resultType="String" parameterType="map" statementType="CALLABLE" useCache="false">
<![CDATA[
select get_code(
#{a1,mode=IN,jdbcType=VARCHAR}
)
]]>
</select>
注ï¼ä¸ä½¿ç¨OUTåæ°çåå¨è¿ç¨å¯ä»¥ç´æ¥ç¨ select
ç¨åºï¼
public String generateCode(String a1) {
Map<String,String> paramMap = new HashMap<String,String>();
paramMap.put("a1", a1);
SqlSession sqlSession = getSqlSession();
String result = sqlSession.selectOne("f1", paramMap);
return result;
}
2.使ç¨OUTåæ°çåå¨è¿ç¨ï¼
å建åå¨è¿ç¨ï¼
create or replace function testproc(a1 varchar(32),out a2 varchar(32),out a3 varchar(32)) as $$
declare
begin
select id into a2 from t_project where id=a1;
select name into a3 from t_project where id=a1;
return;
end;
$$
language plpgsql;
sqlMapé ç½®æ件ï¼
<select id="generateCode1" parameterType="map" statementType="CALLABLE" useCache="false">
{
call testproc(
#{a1,mode=IN,jdbcType=VARCHAR},
#{a2,mode=OUT,jdbcType=VARCHAR},
#{a3,mode=OUT,jdbcType=VARCHAR}
)
}
</select>
ç¨åºï¼
public Map generateCode1(String a1) {
Map<String,String> paramMap = new HashMap<String,String>();
paramMap.put("a1", k1);
SqlSession sqlSession = getSqlSession();
sqlSession.selectOne("generateCode1", paramMap);
return paramMap;
}
带è¾åºåæ°çåå¨è¿ç¨ï¼sqlSession.selectOne("generateCode1", paramMap);
å°paramMapä¼ å ¥ä¹åmybatisè°ç¨åå¨è¿ç¨ï¼å°paramMapè¿è¡å¡«å
paramMapæåçå¼ï¼{a1=R20148800900, a2=R20148800900, a3=项ç®å称}
å建åå¨è¿ç¨ï¼
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é ç½®æ件ï¼
<select id="f1" resultType="String" parameterType="map" statementType="CALLABLE" useCache="false">
<![CDATA[
select get_code(
#{a1,mode=IN,jdbcType=VARCHAR}
)
]]>
</select>
注ï¼ä¸ä½¿ç¨OUTåæ°çåå¨è¿ç¨å¯ä»¥ç´æ¥ç¨ select
ç¨åºï¼
public String generateCode(String a1) {
Map<String,String> paramMap = new HashMap<String,String>();
paramMap.put("a1", a1);
SqlSession sqlSession = getSqlSession();
String result = sqlSession.selectOne("f1", paramMap);
return result;
}
2.使ç¨OUTåæ°çåå¨è¿ç¨ï¼
å建åå¨è¿ç¨ï¼
create or replace function testproc(a1 varchar(32),out a2 varchar(32),out a3 varchar(32)) as $$
declare
begin
select id into a2 from t_project where id=a1;
select name into a3 from t_project where id=a1;
return;
end;
$$
language plpgsql;
sqlMapé ç½®æ件ï¼
<select id="generateCode1" parameterType="map" statementType="CALLABLE" useCache="false">
{
call testproc(
#{a1,mode=IN,jdbcType=VARCHAR},
#{a2,mode=OUT,jdbcType=VARCHAR},
#{a3,mode=OUT,jdbcType=VARCHAR}
)
}
</select>
ç¨åºï¼
public Map generateCode1(String a1) {
Map<String,String> paramMap = new HashMap<String,String>();
paramMap.put("a1", k1);
SqlSession sqlSession = getSqlSession();
sqlSession.selectOne("generateCode1", paramMap);
return paramMap;
}
带è¾åºåæ°çåå¨è¿ç¨ï¼sqlSession.selectOne("generateCode1", paramMap);
å°paramMapä¼ å ¥ä¹åmybatisè°ç¨åå¨è¿ç¨ï¼å°paramMapè¿è¡å¡«å
paramMapæåçå¼ï¼{a1=R20148800900, a2=R20148800900, a3=项ç®å称}
温馨提示:答案为网友推荐,仅供参考