我正在使用PostgreSQL。我的表字段之一是数组:

"day_of_month" int[] DEFAULT NULL


但是我对此表的域对象是List<Integer>。我想使用:List<Integer>查询API在类型为MyBAtis的POJO中获取属性的属性值。

是否有任何自动方法可以执行此操作,Postgresql是否提供了将其直接转换为List<Integer>的功能,是否希望避免进行额外处理?

最佳答案

您必须使用自定义TypeHandler an example here

您对getResult方法特别感兴趣,statement.getArray(i).getArray()将返回Object []。只需将其放入列表(或任何您想要的内容):Arrays.asList()并返回它。
顺便说一句,不要忘了空检查以避免NPE。

当然,请在您的resultMap中使用属性typeHandler="type.handler.full.qualified.name"引用它

07-25 22:52