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>最新版本號</version> </dependency>
創(chuàng)建 MyLongBlobTypeHandler 類:創(chuàng)建一個(gè)自定義的類型處理器 MyLongBlobTypeHandler
來處理 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ù)庫表。在實(shí)體類中,使用 @TableField
注解來指定數(shù)據(jù)庫字段和類型處理器。例如下面文章的content內(nèi)容字段就是longblob字段,通過@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ù)庫
@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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot配置開發(fā)和測試環(huán)境并添加啟動(dòng)路徑方式
這篇文章主要介紹了springboot配置開發(fā)和測試環(huán)境并添加啟動(dòng)路徑方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11IDEA部署Docker鏡像的實(shí)現(xiàn)示例
本文主要介紹了IDEA部署Docker鏡像的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Spring Security OAuth2 授權(quán)碼模式的實(shí)現(xiàn)
這篇文章主要介紹了Spring Security OAuth2 授權(quán)碼模式的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08SpringBoot通過配置Swagger權(quán)限解決Swagger未授權(quán)訪問漏洞問題
這篇文章主要介紹了SpringBoot通過配置Swagger權(quán)限解決Swagger未授權(quán)訪問漏洞問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Java算法之BFS,DFS,動(dòng)態(tài)規(guī)劃和貪心算法的實(shí)現(xiàn)
廣度優(yōu)先搜索(BFS)和深度優(yōu)先搜索(DFS)是圖遍歷算法中最常見的兩種算法,主要用于解決搜索和遍歷問題。動(dòng)態(tài)規(guī)劃和貪心算法則用來解決優(yōu)化問題。本文就來看看這些算法的具體實(shí)現(xiàn)吧2023-04-04解決BufferedReader.readLine()遇見的坑
這篇文章主要介紹了解決BufferedReader.readLine()遇見的坑,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn)
本文主要介紹了SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03