久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Mybatis在sqlite中無法讀寫byte[]類問題的解決辦法

瀏覽:6日期:2023-10-22 12:36:01

開發環境: springboot + mybatis plus

場景:在DAO的bean中有byte[]類時,寫入可以成功,但是讀取不行。從錯誤棧中可以看到原因是:sqlite的driver中,JDBC4ResultSet沒有實現以下接口:

public Blob getBlob(int col) throws SQLException { throw unused(); } public Blob getBlob(String col) throws SQLException { throw unused(); }

讀寫byte[]在JDBC規范中有3種接口:

InputStream getBinaryStream(int col) byte[] getBytes(int col) Blob getBlob(int col)

Mybatis Plus默認會選擇第3個接口。因此,這里只需要將處理方法切換到前兩個接口即可:方法就是更換一個TypeHandler

直接上代碼:

@Data@TableName(autoResultMap = true)public class Member { @TableId private String personId; private String name; private String telephone; @TableField(typeHandler = ByteArrayTypeHandler.class) private byte[] img; private String ext; private Integer type; private Integer ts;}

關鍵點:

添加@TableName(autoResultMap = true) 添加@TableField(typeHandler = ByteArrayTypeHandler.class)

之后就可以正常讀寫byte[]了

總結

到此這篇關于Mybatis在sqlite中無法讀寫byte[]類問題的文章就介紹到這了,更多相關Mybatis在sqlite無法讀寫byte[]類內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 察雅县| 商都县| 锡林郭勒盟| 邻水| 穆棱市| 呼伦贝尔市| 綦江县| 衡东县| 武义县| 本溪| 渝中区| 金平| 孟津县| 绥阳县| 方城县| 观塘区| 长沙市| 天气| 高密市| 深州市| 德化县| 色达县| 新源县| 如皋市| 灵山县| 丹江口市| 合江县| 张掖市| 二连浩特市| 眉山市| 浙江省| 南和县| 彰化市| 车致| 镇沅| 始兴县| 塘沽区| 石阡县| 连云港市| 哈密市| 调兵山市|