中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

廣州的一起做網(wǎng)站seo關(guān)鍵詞排名優(yōu)化推薦

廣州的一起做網(wǎng)站,seo關(guān)鍵詞排名優(yōu)化推薦,wordpress點(diǎn)擊文字彈窗,wordpress wikiMybatis的MapperXML映射文件應(yīng)該處理數(shù)據(jù)庫(kù)字段類型為CLOB和BLOB類型的數(shù)據(jù)呢?首先我們先看下CLOB和BLOB這兩種數(shù)據(jù)類型的介紹。 介紹 使用Mybatis時(shí)涉及到兩種特殊類型的處理,分別是Blob(Binary Large Object)和Clob&#xff0…

Mybatis的MapperXML映射文件應(yīng)該處理數(shù)據(jù)庫(kù)字段類型為CLOB和BLOB類型的數(shù)據(jù)呢?首先我們先看下CLOB和BLOB這兩種數(shù)據(jù)類型的介紹。

介紹

使用Mybatis時(shí)涉及到兩種特殊類型的處理,分別是Blob(Binary Large Object)和Clob(Character Large Object)。Blob表示二進(jìn)制大對(duì)象字段,而Clob則表示大字符對(duì)象字段。這兩種類型需要特殊處理。

Blob主要用于存儲(chǔ)大型二進(jìn)制數(shù)據(jù),例如圖像、音頻或視頻文件等。而Clob則用于存儲(chǔ)大量文本數(shù)據(jù),比如長(zhǎng)篇文章、日志等。在JDBC中,PreparedStatement和ResultSet提供了相應(yīng)的方法來(lái)支持Blob和Clob的操作,使得在數(shù)據(jù)庫(kù)中存儲(chǔ)和檢索這些大型數(shù)據(jù)變得更加容易。

本文首發(fā):https://www.panziye.com/java/7876.html

Mybatis作為一個(gè)持久層框架,也對(duì)Blob和Clob類型進(jìn)行了支持。不同版本的Mybatis都提供了對(duì)這些類型的存儲(chǔ)和讀取操作的功能。下面將詳細(xì)介紹Mybatis中如何操作Clob字段。

對(duì)應(yīng)關(guān)系

BLOB和CLOB在不一樣的數(shù)據(jù)庫(kù)中對(duì)應(yīng)的類型也不同:
?MySQL中:clob對(duì)應(yīng)text/longtext,blob對(duì)應(yīng)blob
Oracle中:clob對(duì)應(yīng)clob,blob對(duì)應(yīng)blob

Mapper.xml映射

Mapper文件中查詢sql的id為queryByList,report_summary為Oracle數(shù)據(jù)庫(kù)中的一個(gè)字段,是CLOB類型。myClob為java類,在java類中定義一個(gè)String類型的字段reportSummary,用于接收CLOB信息。

1)Mapper.xml文件加入如下配置可以讀取CLOB和BLOB類型的數(shù)據(jù)

jdbcType="CLOB" typeHandler="org.apache.ibatis.type.ClobTypeHandler"
jdbcType="BLOB" typeHandler="org.apache.ibatis.type.BLOBTypeHandler"

2)案例代碼

<select id="queryByList" parameterType="Map" resultMap="queryBaseResultMap">select  id ,title,type,report_summary,author from my_clobwhere 1 = 1 order by ${orderByClause}
</select>
<resultMap id="queryBaseResultMap" type="com.mxm.model.MyClob" ><id column="Id" property="id" jdbcType="INTEGER" /><result column="type" property="type" jdbcType="INTEGER" /><result column="title" property="title" jdbcType="VARCHAR" /><result column="author" property="author" jdbcType="VARCHAR" /><result column="report_summary" property="reportSummary" jdbcType="CLOB" typeHandler="org.apache.ibatis.type.ClobTypeHandler">
</resultMap>

3)如果你的Clob是文本信息,在java實(shí)體類中,可以直接使用String字符串去接收處理。

擴(kuò)展

上面使用的是默認(rèn)的mybatis提供的ClobTypeHandler,當(dāng)然,你也可以自定義自己的handler進(jìn)行處理,這樣會(huì)有更好的靈活性。這里演示blob與String轉(zhuǎn)換。

場(chǎng)景

數(shù)據(jù)庫(kù)中有一個(gè)blob字段,在java中用String接收。使用如下方式讀取:

<select id="find" resultType="com.example.bean.User">select id, name, experience, createTimefrom user
</select>

如果這里的experience字段為blob類型,那么取出來(lái)的數(shù)據(jù)就會(huì)亂碼。

解決方法是自定義一個(gè)TypeHandler,通過(guò)繼承BaseTypeHandler類實(shí)現(xiàn)。如下。

BlobToStringTypeHandler

先看xml應(yīng)用:

<resultMap id="UserResultMap" type="com.example.bean.User"><id property="id" column="id"></id><result property="name" column="name"></result><result property="experience" column="experience" typeHandler="com.example.handler.BlobToStringTypeHandler"></result><result property="createTime" column="createTime"></result>
</resultMap><select id="find" resultMap="UserResultMap">select id, name, experience, createTimefrom user
</select>

再看BlobToStringTypeHandler代碼:

import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;import java.sql.*;public class BlobToStringTypeHandler extends BaseTypeHandler<String> {@Overridepublic void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException {ps.setString(i, parameter);}@Overridepublic String getNullableResult(ResultSet rs, String columnName) throws SQLException {Blob blob = rs.getBlob(columnName);return new String(blob.getBytes(1, (int)blob.length()));}@Overridepublic String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {Blob blob = rs.getBlob(columnIndex);return new String(blob.getBytes(1, (int)blob.length()));}@Overridepublic String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {Blob blob = cs.getBlob(columnIndex);return new String(blob.getBytes(1, (int)blob.length()));}
}

以上,通過(guò)繼承BaseTypeHandler并實(shí)現(xiàn)其方法,將sql的blob類型字段與java的String類型互相轉(zhuǎn)換。

附錄

這里附上Mybatis JdbcType與Oracle、MySql數(shù)據(jù)類型對(duì)應(yīng)列表

JdbcTypeOracleMySql
ARRAY
BIGINTBIGINT
BINARY
BITBIT
BLOBBLOBBLOB
BOOLEAN
CHARCHARCHAR
CLOBCLOB修改為TEXT
CURSOR
DATEDATEDATE
DECIMALDECIMALDECIMAL
DOUBLENUMBERDOUBLE
FLOATFLOATFLOAT
INTEGERINTEGERINTEGER
LONGVARBINARY
LONGVARCHARLONG VARCHAR
NCHARNCHAR
NCLOBNCLOB
NULL
NUMERICNUMERIC/NUMBERNUMERIC/
NVARCHAR
OTHER
REALREALREAL
SMALLINTSMALLINTSMALLINT
STRUCT
TIMETIME
TIMESTAMPTIMESTAMPTIMESTAMP/DATETIME
TINYINTTINYINT
UNDEFINED
VARBINARY
VARCHARVARCHARVARCHAR

如果表格中有遺漏,可以直接看https://www.panziye.com/java/7876.html

總結(jié)

以上就是MyBatis MapperXML如何處理CLOB和BLOB類型數(shù)據(jù)的全部?jī)?nèi)容,希望對(duì)你Java框架的學(xué)習(xí)有幫助!

推薦閱讀

MyBatis Plus如何解決百萬(wàn)級(jí)大數(shù)據(jù)量查詢慢問題

http://www.risenshineclean.com/news/1445.html

相關(guān)文章:

  • 免費(fèi)做兼職的網(wǎng)站有嗎優(yōu)化網(wǎng)站排名解析推廣
  • 網(wǎng)站怎么做移動(dòng)圖片東莞企業(yè)網(wǎng)站模板建站
  • 做房地產(chǎn)網(wǎng)站廣告銷售seo網(wǎng)站優(yōu)化培
  • 需求登記網(wǎng)站怎么做網(wǎng)絡(luò)營(yíng)銷公司排行
  • 成都住建局官網(wǎng)有問題怎么辦站長(zhǎng)seo綜合查詢
  • 中國(guó)建設(shè)銀行網(wǎng)站首頁(yè)下載自己怎么開網(wǎng)站
  • win2008 iis配置網(wǎng)站服務(wù)營(yíng)銷理論
  • 網(wǎng)站訪問速度檢測(cè)快速網(wǎng)站推廣
  • 咔咔做受視頻網(wǎng)站百度用戶服務(wù)中心官網(wǎng)電話
  • 網(wǎng)站建設(shè)需求表網(wǎng)站怎么推廣
  • 網(wǎng)站營(yíng)銷如何做快速收錄網(wǎng)
  • 深圳微信網(wǎng)站建設(shè)公司哪家好打廣告
  • 織夢(mèng)轉(zhuǎn)易優(yōu)cmsseo專業(yè)學(xué)校
  • 九度互聯(lián)網(wǎng)站制作效果seo項(xiàng)目經(jīng)理
  • 設(shè)計(jì)門戶網(wǎng)站站內(nèi)seo和站外seo區(qū)別
  • 電銷管理系統(tǒng)軟件seo技術(shù)培訓(xùn)中心
  • 咸寧網(wǎng)站設(shè)計(jì)自制網(wǎng)頁(yè)
  • 旅游網(wǎng)站組織結(jié)構(gòu)圖怎么做小廣告網(wǎng)頁(yè)
  • 天津企商網(wǎng)站建設(shè)公司自動(dòng)點(diǎn)擊器免費(fèi)下載
  • 企業(yè)網(wǎng)站模板建站流程百度如何購(gòu)買關(guān)鍵詞
  • 做蝦網(wǎng)站該起啥名好百度指數(shù)關(guān)鍵詞工具
  • 臺(tái)州企業(yè)網(wǎng)站搭建電話南寧seo怎么做優(yōu)化團(tuán)隊(duì)
  • 阜新住房建設(shè)委員會(huì)網(wǎng)站湖南企業(yè)seo優(yōu)化
  • 化妝品產(chǎn)品的自建網(wǎng)站喲哪些申請(qǐng)自己的網(wǎng)站
  • 網(wǎng)站建設(shè)尾款營(yíng)銷咨詢公司排名前十
  • 哪些網(wǎng)站是做食品nba交易最新消息
  • 山東鑫泰建設(shè)集團(tuán)網(wǎng)站微信營(yíng)銷推廣公司
  • 買了個(gè)域名怎么做網(wǎng)站網(wǎng)絡(luò)輿情分析師
  • 英文網(wǎng)站建設(shè)小程序開發(fā)
  • 360seo排名點(diǎn)擊軟件逆冬seo