时间:2020-10-06来源:www.pcxitongcheng.com作者:电脑系统城
发环境: 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种接口:
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[]类问题的文章就介绍到这了,
2024-07-07
Java框架如何实现非阻塞式编程?2023-03-11
Android Jetpack 组件LiveData源码解析2023-03-11
hbuilderx设置Firefox浏览器安装路径教程 hbuilderx怎么设置Firefox浏览器安装路径?一、AVL树的概念 二、AVL树节点的定义 三、AVL树的插入 四、AVL树的旋转 1.左单旋 2.右单旋 3.左右双旋 4.右左双旋 五、进行验证 六、AVLTree的性能...
2023-03-09