【问题标题】:Can Mybatis annotation mappers return arrays?Mybatis注解映射器可以返回数组吗?
【发布时间】:2012-03-09 05:02:08
【问题描述】:

我想从基于注释的 Mybatis 映射器中返回一个数组,以避免盒装原语的内存开销。这可能吗?

我试过了

@Select("select id from some_table")
public long[] selectIds();

没有运气。

【问题讨论】:

    标签: java arrays select mybatis


    【解决方案1】:

    MyBatis 映射器可以返回 Object 数组,但不能返回基元数组

    请看下面的例子:-

    @Results({
        @Result(property = "id", column = "id"),
        @Result(property = "name", column = "name"),
        @Result(property = "staffNumber", column = "staff_number")
      })    
    @Select("select * from USERS")
    User[] finduserArr();
    

    【讨论】:

      【解决方案2】:

      它可以从 3.1 版本开始。尝试使用 3.1.1。

      【讨论】:

        【解决方案3】:

        尝试添加@MapKey 注解。它生成一个以 id 为 key 和一个 Hashmap (key = column Name, value = value) 作为 value 的 Map

        查看nested mybatis map 以获取更多参考

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-07
          相关资源
          最近更新 更多