我正在使用PostgreSQL
。我的表字段之一是一个数组:
"day_of_month" int[] DEFAULT NULL
但是我这个表的域对象是 List<Integer>
。我想获取 POJO 中类型为 :List<Integer>
的属性的属性值使用MyBAtis
查询API。
有没有自动的方法来做到这一点,Postgresql
是否提供了任何东西?直接将其转换为List<Integer>
,想要避免额外的处理吗?
最佳答案
您必须使用自定义 TypeHandler,an example here .
您对getResult方法特别感兴趣,statement.getArray(i).getArray()
将返回一个Object[]。只需将其放入列表(或您想要的任何内容)中:Arrays.asList()
并返回它。
顺便说一句,不要忘记空检查以避免 NPE。
当然,请在您的 resultMap 中使用属性 typeHandler="type.handler.full.qualified.name"
关于java - myBatis中与JAVA对象映射时如何将integer[]直接转换为List<Integer>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41182607/