我的课程字段看起来像
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: No typehandler found for property points
如何在一个字段中正确插入此数组? 我可以将数组转换为字符串,但我想使用mybatis机会。
答案 0 :(得分:0)
我看到Mybatis参数片段中的拼写错误,花括号{}:
VALUES ( {#points,javaType=java.util.Array,typeHandler=org.apache.ibatis.type.ArrayTypeHandler}
)
此外,可能需要自定义ArrayTypeHandler实现,无论是格式化还是存储为String(Varchar),或者存储为SQL Array,然后依赖于环境:DB Type / driver,池连接,应用服务器...