最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis查詢oracle long類型的踩坑記錄

 更新時(shí)間:2023年03月30日 10:13:56   作者:zhg520zhg  
這篇文章主要介紹了mybatis查詢oracle long類型的踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis查詢oracle long類型的坑

問題描述

最近在開發(fā)中,遇到查詢oracle long類型異常的問題,需求是查詢一個(gè)字段中含有函數(shù)的索引的內(nèi)容,然后通過mybatis獲取返回的內(nèi)容封裝成對(duì)象,其中l(wèi)ong類型在對(duì)象中用String接收,COLUMN_EXPRESSION字段為long類型,供后續(xù)業(yè)務(wù)使用,自定義查詢語句如下

select a.COLUMN_EXPRESSION, a.COLUMN_POSITION from USER_IND_EXPRESSIONS a
inner join USER_IND_COLUMNS b on b.INDEX_NAME = a.INDEX_NAME
and b.TABLE_NAME = a.TABLE_NAME and b.COLUMN_POSITION = a.COLUMN_POSITION
where b.COLUMN_NAME like 'SYS_NC%$'

報(bào)錯(cuò):Cause: java.sql.SQLException: 流已被關(guān)閉 ; uncategorized SQLException for SQL []; SQL state [99999]; error code [17027]; 流已被關(guān)閉

解決辦法

如果可以修改字段類型情況下,建議改成BLOB,CLOB,NLOB,非常不建議使用LONG;

在無法修改字段類型情況下,一定要將LONG類型字段放在查詢字段的最后(COLUMN_EXPRESSION放在最后),例如

select a.COLUMN_POSITION, a.COLUMN_EXPRESSION from USER_IND_EXPRESSIONS a
inner join USER_IND_COLUMNS b on b.INDEX_NAME = a.INDEX_NAME
and b.TABLE_NAME = a.TABLE_NAME and b.COLUMN_POSITION = a.COLUMN_POSITION
where b.COLUMN_NAME like 'SYS_NC%$'

收獲: 

Oracle中如果是數(shù)值,用NUMBER替換LONG,如果是大對(duì)象可以用BLOB,CLOB,NLOB替換LONG;其實(shí)查詢時(shí)還可以通過存儲(chǔ)過程將LONG轉(zhuǎn)成VARCHAR2返回,個(gè)人不建議使用存儲(chǔ)過程。

mybatis處理Oracle中的LONG字段

當(dāng)使用mybatis查詢oracle中帶有LONG數(shù)據(jù)類型的時(shí)候,實(shí)體類使用的是String類型來接收.

一般會(huì)報(bào)兩種錯(cuò)誤:

  • 1.無效字段類型  
  • 2.流已被關(guān)閉

處理方法

第一種方式:不使用LONG類型(廢話)

第二種方式:自定義函數(shù)將LONG類型轉(zhuǎn)換為VARCHAR類型(百度,方法一大堆,都是)

第三種方式:首先在Mapper.xml文件中自定義resultMap映射關(guān)系,將LONG類型字段的jdbcType設(shè)置為L(zhǎng)ONGVARBINARY

<resultMap id="BaseResultMap" type="com.libstar.tc.dto.Biblios" >
? ? <result column="name" property="bookrecno" jdbcType="VARCHAR" />
? ? <result column="content" property="content" jdbcType="LONGVARBINARY" />
</resultMap>

然后自定義SQL查詢數(shù)據(jù),在寫SQL的時(shí)候要注意了,將LONG類型的那個(gè)字段寫在最后,像這樣

SELECT ID,NAME,CONTENT FROM XXX;其中CONTENT字段為L(zhǎng)ONG類型字段.

即可成功~

總結(jié)

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

相關(guān)文章

  • Mybatis開發(fā)環(huán)境搭建實(shí)現(xiàn)數(shù)據(jù)的增刪改查功能

    Mybatis開發(fā)環(huán)境搭建實(shí)現(xiàn)數(shù)據(jù)的增刪改查功能

    這篇文章主要介紹了 Mybatis開發(fā)環(huán)境搭建實(shí)現(xiàn)數(shù)據(jù)的增刪改查功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • MyBatis映射關(guān)系詳解

    MyBatis映射關(guān)系詳解

    本文重點(diǎn)介紹MyBatis映射關(guān)系重點(diǎn)是映射關(guān)系一對(duì)一,一對(duì)一映射方式結(jié)合應(yīng)用實(shí)例給大家詳細(xì)講解,對(duì)MyBatis映射關(guān)系相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-11-11
  • SpringBoot中的main方法注入service

    SpringBoot中的main方法注入service

    這篇文章主要介紹了SpringBoot中的main方法注入service操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 啟動(dòng) Eclipse 彈出 Failed to load the JNI shared library jvm.dll 錯(cuò)誤的解決方法

    啟動(dòng) Eclipse 彈出 Failed to load the JNI shared library jvm.dll

    這篇文章主要介紹了有時(shí)候,新電腦上回碰到打開Eclipse時(shí),彈出提示“Failed to load the JNI shared library jvm.dll”錯(cuò)誤,這里給大家分享解決方案
    2016-08-08
  • Java 常量與變量的區(qū)別詳細(xì)介紹

    Java 常量與變量的區(qū)別詳細(xì)介紹

    這篇文章主要介紹了Java 常量與變量的區(qū)別的相關(guān)資料,并附實(shí)例代碼幫助大家學(xué)習(xí)理解,需要的朋友可以參考下
    2016-10-10
  • 淺談Java后臺(tái)對(duì)JSON格式的處理操作

    淺談Java后臺(tái)對(duì)JSON格式的處理操作

    下面小編就為大家?guī)硪黄獪\談Java后臺(tái)對(duì)JSON格式的處理操作。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • Java實(shí)現(xiàn)修改PDF文件MD5值且保持內(nèi)容不變

    Java實(shí)現(xiàn)修改PDF文件MD5值且保持內(nèi)容不變

    在某些場(chǎng)景中,我們可能需要改變PDF文件的MD5值,而又不希望改變文件的可視內(nèi)容,本文詳細(xì)介紹了如何實(shí)現(xiàn)這一目標(biāo),并提供了具體的Java實(shí)現(xiàn)示例,需要的可以參考下
    2023-10-10
  • 關(guān)于@Component注解下的類無法@Autowired問題

    關(guān)于@Component注解下的類無法@Autowired問題

    這篇文章主要介紹了關(guān)于@Component注解下的類無法@Autowired問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • springboot 中文件上傳下載實(shí)例代碼

    springboot 中文件上傳下載實(shí)例代碼

    Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過程。這篇文章主要介紹了springboot 中文件上傳下載實(shí)例代碼,需要的朋友可以參考下
    2017-11-11
  • 使用Java如何對(duì)復(fù)雜的數(shù)據(jù)類型排序和比大小

    使用Java如何對(duì)復(fù)雜的數(shù)據(jù)類型排序和比大小

    我相信大家在第一次接觸算法的時(shí)候,最先接觸的肯定也是從排序算法開始的,下面這篇文章主要給大家介紹了關(guān)于使用Java如何對(duì)復(fù)雜的數(shù)據(jù)類型排序和比大小的相關(guān)資料,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

威海市| 焉耆| 浮梁县| 嘉禾县| 萍乡市| 兴国县| 杨浦区| 崇仁县| 卢湾区| 集安市| 张北县| 保定市| 六枝特区| 雷山县| 化隆| 连山| 两当县| 甘孜| 九龙城区| 霞浦县| 浙江省| 吉木乃县| 五家渠市| 万宁市| 平和县| 林周县| 石河子市| 靖江市| 教育| 南城县| 筠连县| 万州区| 菏泽市| 宜丰县| 上饶市| 东方市| 革吉县| 西和县| 门头沟区| 怀仁县| 鸡西市|