mybatis-plus處理blob字段的完整示例代碼
在 Spring Boot 項目中使用 MyBatis-Plus 處理 longblob
字段時,我們可以按照以下步驟進行操作。假設 longblob
存儲的是字符串數(shù)據(jù)。以下是完整的示例代碼:
添加依賴:在你的項目的 pom.xml
文件中添加 MyBatis-Plus 的依賴:
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本號</version> </dependency>
創(chuàng)建 MyLongBlobTypeHandler 類:創(chuàng)建一個自定義的類型處理器 MyLongBlobTypeHandler
來處理 longblob
字段的數(shù)據(jù)。這個處理器會將 longblob
轉換為字符串。
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.定義實體類:創(chuàng)建一個實體類,用于映射數(shù)據(jù)庫表。在實體類中,使用 @TableField
注解來指定數(shù)據(jù)庫字段和類型處理器。例如下面文章的content內容字段就是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層中正常使用,處理器會默認轉成longblob插入數(shù)據(jù)庫
@Service public class ArticleService extends ServiceImpl<ArticleMapper, Article> { /** * 添加文章 * @param article */ public void add(@NotNull Article article){ this.save(article); } }
到此這篇關于mybatis-plus處理blob字段的文章就介紹到這了,更多相關mybatis-plus blob字段內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
springboot配置開發(fā)和測試環(huán)境并添加啟動路徑方式
這篇文章主要介紹了springboot配置開發(fā)和測試環(huán)境并添加啟動路徑方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Spring Security OAuth2 授權碼模式的實現(xiàn)
這篇文章主要介紹了Spring Security OAuth2 授權碼模式的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08SpringBoot通過配置Swagger權限解決Swagger未授權訪問漏洞問題
這篇文章主要介紹了SpringBoot通過配置Swagger權限解決Swagger未授權訪問漏洞問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05Java算法之BFS,DFS,動態(tài)規(guī)劃和貪心算法的實現(xiàn)
廣度優(yōu)先搜索(BFS)和深度優(yōu)先搜索(DFS)是圖遍歷算法中最常見的兩種算法,主要用于解決搜索和遍歷問題。動態(tài)規(guī)劃和貪心算法則用來解決優(yōu)化問題。本文就來看看這些算法的具體實現(xiàn)吧2023-04-04解決BufferedReader.readLine()遇見的坑
這篇文章主要介紹了解決BufferedReader.readLine()遇見的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12