我的类(class)字段看起来像
private int[] points = new int[]{1,1,1,1};
我的 innoDb 表看起来像
CREATE TABLE `test` (
`points` VARCHAR(70) NULL DEFAULT '0'
)
我尝试使用此映射器将行插入表中(我正在使用注释)
@Insert({
"REPLACE INTO test (points)",
"values (#points},javaType=java.util.Array,typeHandler=org.apache.ibatis.type.ArrayTypeHandler)"
})
并获取java.lang.IllegalStateException:找不到属性点的类型处理程序
如何正确地将这个数组插入到一个字段中? 我可以将数组转换为字符串,但我想利用 mybatis 的机会。
最佳答案
我在大括号 {} 上的 Mybatis 参数代码片段中发现拼写错误:
VALUES ( {#points,javaType=java.util.Array,typeHandler=org.apache.ibatis.type.ArrayTypeHandler}
)
此外,可能需要自定义 ArrayTypeHandler 实现,要么用于格式化,因为此处将其存储为字符串(Varchar),要么如果存储为 SQL 数组,则取决于环境:数据库类型/驱动程序、池连接、应用服务器...
关于java - 如何使用mybatis注释将简单数组插入表字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39570613/