在mybatis中调oracle dblink存储过程
生活随笔
收集整理的這篇文章主要介紹了
在mybatis中调oracle dblink存储过程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫在前面:在mybatis中操作oracle的數據,不復雜,也不困難。只是第一次用,入了很多坑,記錄一下。在此之前需要一些簡單的配置,此前一篇博客已經做了簡單敘述:
https://www.cnblogs.com/studentc/p/11078229.html
?
?
調用oracle存儲過程,這里只寫出mapper.xml,其他的基本與操作mysql類似。
?
<select id="ccgc" statementType="CALLABLE" parameterType="int" resultType="Integer">{call user.one(#{id,mode=IN,jdbcType=INTEGER},
#{age,mode=OUT,jdbcType=INTEGER})}
</select>
注:這里必須寫一個注意,因為就是這么一段簡單的sql,耗了我幾個小時。唉,是我太水了,必須記錄一下。
1.statementType="CALLABLE" 表明調用的是一個存儲過程
2. user.one:one是存儲過程的名字,?調用存儲過程時,最好是包名.存儲過程名,不然很多時候會找不到該過程而報錯。
3.如果是入參,記得加mode=IN,IN切記大寫,否則報錯。如果有輸出參數,記得加mode=OUT,否則報錯,找不到out參數。然后你把錯誤信息cv去找度娘,花了很多時間,看了很多文章,試了很多操作,卻依然無果。其實并不是什么很復雜的問題,可能僅僅是因為少了mode=OUT。至少我是如此。
?
?
通過dblink調存儲過程
dblink中調存儲過程,只需在過程名后加@dblink名字,然后再寫參數,沒有其他太需要注意的地方。
<insert id="add" statementType="CALLABLE" parameterType="string">{call USER.USERADD@DBLINK_USER.ADD(#{NAME,mode=IN,jdbcType=VARCHAR},#{SEX,mode=IN,jdbcType=VARCHAR})} </insert>轉載于:https://www.cnblogs.com/studentc/p/11090055.html
總結
以上是生活随笔為你收集整理的在mybatis中调oracle dblink存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习基础(二)激活函数
- 下一篇: 椭球体上某区域面积的求算,及该区域兰伯特