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

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

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

mybatis查詢oracle long類型的坑

問題描述

最近在開發(fā)中,遇到查詢oracle long類型異常的問題,需求是查詢一個字段中含有函數(shù)的索引的內(nèi)容,然后通過mybatis獲取返回的內(nèi)容封裝成對象,其中l(wèi)ong類型在對象中用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%$'

報錯: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,如果是大對象可以用BLOB,CLOB,NLOB替換LONG;其實查詢時還可以通過存儲過程將LONG轉(zhuǎn)成VARCHAR2返回,個人不建議使用存儲過程。

mybatis處理Oracle中的LONG字段

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

一般會報兩種錯誤:

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

處理方法

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

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

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

<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的時候要注意了,將LONG類型的那個字段寫在最后,像這樣

SELECT ID,NAME,CONTENT FROM XXX;其中CONTENT字段為LONG類型字段.

即可成功~

總結(jié)

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

相關(guān)文章

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

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

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

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

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

    SpringBoot中的main方法注入service

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

    啟動 Eclipse 彈出 Failed to load the JNI shared library jvm.dll

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

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

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

    淺談Java后臺對JSON格式的處理操作

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

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

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

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

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

    springboot 中文件上傳下載實例代碼

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

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

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

最新評論

金坛市| 山东省| 松滋市| 天津市| 平阴县| 东安县| 旌德县| 孙吴县| 昔阳县| 改则县| 重庆市| 朝阳县| 沐川县| 五莲县| 原阳县| 宝坻区| 郁南县| 简阳市| 绍兴县| 响水县| 罗田县| 来凤县| 铜川市| 西城区| 通许县| 佛山市| 玛曲县| 临沭县| 彭阳县| 东海县| 望奎县| 广安市| 南城县| 巩义市| 洛川县| 大理市| 犍为县| 石门县| 山东省| 双鸭山市| 勐海县|