java - myBatis中与JAVA对象映射时如何将integer[]直接转换为List<Integer>

标签 java mybatis postgresql-9.3

我正在使用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/

相关文章:

spring - Controller层可以直接调用Persistence层吗?

java - 参数未通过 java.util.Map 解析到我的 batis 映射器

postgresql - 我们可以用 PostgreSQL 数据库创建一列字符变化(MAX)吗

postgresql - 如何在 postgresql 中自动增加字母数字值?

java - 查询Firestore数据并向与查询匹配的所有文档添加一个字段

java - 如何使用 glob 验证我的 REFERER URL?

Java Agario 单人游戏

java - 如何使用MyBatis将mysql字段更新为中文

sql - 这 EXPLAIN 是否表明为什么 Postgres 查询如此缓慢

java - 如何画平行四边形(菱形网格)?