mybatis-plus處理blob字段的完整示例代碼
在 Spring Boot 項(xiàng)目中使用 MyBatis-Plus 處理 longblob
字段時(shí),我們可以按照以下步驟進(jìn)行操作。假設(shè) longblob
存儲(chǔ)的是字符串?dāng)?shù)據(jù)。以下是完整的示例代碼:
添加依賴:在你的項(xiàng)目的 pom.xml
文件中添加 MyBatis-Plus 的依賴:
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本號(hào)</version> </dependency>
創(chuàng)建 MyLongBlobTypeHandler 類:創(chuàng)建一個(gè)自定義的類型處理器 MyLongBlobTypeHandler
來(lái)處理 longblob
字段的數(shù)據(jù)。這個(gè)處理器會(huì)將 longblob
轉(zhuǎn)換為字符串。
import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType; import java.sql.*; import java.io.IOException; import java.nio.charset.StandardCharsets; @Component public class MyLongBlobTypeHandler extends BaseTypeHandler<String> { @Override public void setNonNullParameter(PreparedStatement preparedStatement, int i, String s, JdbcType jdbcType) throws SQLException { preparedStatement.setBytes(i, s.getBytes(StandardCharsets.UTF_8)); } @Override public String getNullableResult(ResultSet resultSet, String s) throws SQLException { byte[] bytes = resultSet.getBytes(s); return new String(bytes, StandardCharsets.UTF_8); } @Override public String getNullableResult(ResultSet resultSet, int i) throws SQLException { byte[] bytes = resultSet.getBytes(i); return new String(bytes, StandardCharsets.UTF_8); } @Override public String getNullableResult(CallableStatement callableStatement, int i) throws SQLException { byte[] bytes = callableStatement.getBytes(i); return new String(bytes, StandardCharsets.UTF_8); } }
?2.定義實(shí)體類:創(chuàng)建一個(gè)實(shí)體類,用于映射數(shù)據(jù)庫(kù)表。在實(shí)體類中,使用 @TableField
注解來(lái)指定數(shù)據(jù)庫(kù)字段和類型處理器。例如下面文章的content內(nèi)容字段就是longblob字段,通過(guò)@TableField
注解指定類型處理
@Data @TableName("blog_article") public class Article extends BaseEntity { private String name; private String url; private String tag; private Long channelId; private String channelName; @TableField(value = "content", typeHandler = MyLongBlobTypeHandler.class) private String content; private Integer orderNum; //是否啟用,Y啟用,N禁用 private String enabled; //瀏覽數(shù) private Integer views; //description private String description; //keywords private String keywords; }
?3.使用 MyBatis-Plus 正常插入即可:sevice層中正常使用,處理器會(huì)默認(rèn)轉(zhuǎn)成longblob插入數(shù)據(jù)庫(kù)
@Service public class ArticleService extends ServiceImpl<ArticleMapper, Article> { /** * 添加文章 * @param article */ public void add(@NotNull Article article){ this.save(article); } }
到此這篇關(guān)于mybatis-plus處理blob字段的文章就介紹到這了,更多相關(guān)mybatis-plus blob字段內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot配置開(kāi)發(fā)和測(cè)試環(huán)境并添加啟動(dòng)路徑方式
這篇文章主要介紹了springboot配置開(kāi)發(fā)和測(cè)試環(huán)境并添加啟動(dòng)路徑方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11IDEA部署Docker鏡像的實(shí)現(xiàn)示例
本文主要介紹了IDEA部署Docker鏡像的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Spring Security OAuth2 授權(quán)碼模式的實(shí)現(xiàn)
這篇文章主要介紹了Spring Security OAuth2 授權(quán)碼模式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08SpringBoot通過(guò)配置Swagger權(quán)限解決Swagger未授權(quán)訪問(wèn)漏洞問(wèn)題
這篇文章主要介紹了SpringBoot通過(guò)配置Swagger權(quán)限解決Swagger未授權(quán)訪問(wèn)漏洞問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Java算法之BFS,DFS,動(dòng)態(tài)規(guī)劃和貪心算法的實(shí)現(xiàn)
廣度優(yōu)先搜索(BFS)和深度優(yōu)先搜索(DFS)是圖遍歷算法中最常見(jiàn)的兩種算法,主要用于解決搜索和遍歷問(wèn)題。動(dòng)態(tài)規(guī)劃和貪心算法則用來(lái)解決優(yōu)化問(wèn)題。本文就來(lái)看看這些算法的具體實(shí)現(xiàn)吧2023-04-04解決BufferedReader.readLine()遇見(jiàn)的坑
這篇文章主要介紹了解決BufferedReader.readLine()遇見(jiàn)的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn)
本文主要介紹了SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03