激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Mybatis在sqlite中無法讀寫byte[]類問題的解決辦法

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

2020-10-05 12:18icyfox_bupt Java教程

這篇文章主要給大家介紹了關于Mybatis在sqlite中無法讀寫byte[]類問題的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

開發環境: springboot + mybatis plus

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

?
1
2
3
4
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

直接上代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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[]類內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/icyfox_bupt/article/details/108867782

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 婷婷中文字幕一区二区三区 | 西川av在线一区二区三区 | 色综合视频 | 色网站免费观看 | www日韩在线 | 黄色片在线观看网站 | 国产电影av在线 | 久久福利在线 | 国产午夜网| 精品久久久久久久久亚洲 | 久久新网址 | 国产一区二区三区四 | 91久久久久久久久久 | 久久在线精品 | 美女在线视频一区二区 | 少妇一级淫片免费放4p | 爱爱视频天天干 | 国产91在线高潮白浆在线观看 | 中文字幕免费播放 | 色播视频在线播放 | 激情视频免费看 | 黄污网站在线 | 97人人草 | 久久久久久久国产a∨ | 欧美国产日韩在线 | av免费在线观看国产 | 日本在线视频免费 | 一级毛片特黄 | 成人9禁啪啪无遮挡免费 | 国产成人在线网站 | 国产免费观看一区二区三区 | 黄wwww| 国产精品二区高清在线 | 好吊色37pao在线观看 | 日韩在线观看中文字幕 | 黄色av网站免费 | 精品一区二区亚洲 | 91看片资源| 免费在线观看一级片 | 欧美另类在线视频 | 日韩精品中文字幕一区二区三区 |