当前位置: 首页 > 编程笔记 >

Mybatis在sqlite中无法读写byte[]类问题的解决办法

司徒运锋
2023-03-14
本文向大家介绍Mybatis在sqlite中无法读写byte[]类问题的解决办法,包括了Mybatis在sqlite中无法读写byte[]类问题的解决办法的使用技巧和注意事项,需要的朋友参考一下

开发环境: 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[]类内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍JS设置时间无效问题的解决办法,包括了JS设置时间无效问题的解决办法的使用技巧和注意事项,需要的朋友参考一下 在发送短信息验证码的时候要用到js设置时间倒序问题:有时候这种常规写法会导致js失效,试了很多方法才找到问题所在,可能是因为js版本过低导致。 解决方法: 或者: jquery代码:必须用input设置value值,以便利用jquery更改value值 以上所述是小编给大家介

  • 本文向大家介绍C# SESSION丢失问题的解决办法,包括了C# SESSION丢失问题的解决办法的使用技巧和注意事项,需要的朋友参考一下 我们在用C#开发程序的时候经常会遇到Session很不稳定,老是数据丢失。下面就是Session数据丢失的解决办法希望对您有好处。 1、在WEB.CONFIG文件中修改SESSION状态保存模式,如:<sessionState mode='StateServe

  • 本文向大家介绍PHP mkdir()无写权限的问题解决方法,包括了PHP mkdir()无写权限的问题解决方法的使用技巧和注意事项,需要的朋友参考一下 使用mkdir创建文件夹时,发现这个函数有两个参数,第二个参数是为新创建的文件夹指定权限。 但是如果直接用mkdir('文件地址', 0777);时 发现新文件夹的权限并不是777,一般情况下会是022。 因为mkdir在给文件夹制定权限时,会跟当

  • 本文向大家介绍java中FileOutputStream中文乱码问题解决办法,包括了java中FileOutputStream中文乱码问题解决办法的使用技巧和注意事项,需要的朋友参考一下 java中FileOutputStream中文乱码问题解决办法 使用FileOutputStream序列化可以直接向文件写入文本内容,代码如下: 但这里的字符串如果包含中文,就会出现乱码,这是因为FileOutp

  • 本文向大家介绍解决python xlrd无法读取excel文件的问题,包括了解决python xlrd无法读取excel文件的问题的使用技巧和注意事项,需要的朋友参考一下 读取文件时报错: 该xls文件在打开时确实会警告该文件与扩展名格式不一致。用文本编辑器打开该xls文件查看,发现确实不是xls文件,而是xml文件被保存为了xls文件。 解决办法:将文件后缀名改为.xml,作为xml文件读入。

  • 本文向大家介绍关于Bootstrap弹出框无法调用问题的解决办法,包括了关于Bootstrap弹出框无法调用问题的解决办法的使用技巧和注意事项,需要的朋友参考一下 问题描述 写项目中使用到了前端框架bootstrap,提供的功能很强大! bootstrap学习 然而在用bootstrap提供的弹出框组件时,弹出框怎么也弹不出! 按理说应该这样:   官方给出的样例是这样写的: 代码检查了三遍,确定