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 來處理 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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot配置開發(fā)和測(cè)試環(huán)境并添加啟動(dòng)路徑方式
這篇文章主要介紹了springboot配置開發(fā)和測(cè)試環(huán)境并添加啟動(dòng)路徑方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
IDEA部署Docker鏡像的實(shí)現(xiàn)示例
本文主要介紹了IDEA部署Docker鏡像的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
Spring Security OAuth2 授權(quán)碼模式的實(shí)現(xiàn)
這篇文章主要介紹了Spring Security OAuth2 授權(quán)碼模式的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
SpringBoot通過配置Swagger權(quán)限解決Swagger未授權(quán)訪問漏洞問題
這篇文章主要介紹了SpringBoot通過配置Swagger權(quán)限解決Swagger未授權(quán)訪問漏洞問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Java算法之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à)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn)
本文主要介紹了SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

