Mybatis自定义映射

时间:2017-04-05 11:18:49

标签: mybatis

我已经定义了这样的Java bean:

public class Person{
    private int id;
    private String name;
    private Map<String, Object> properties;
    // getters and setters ...
}

提供以下查询:

select id, name, age, address from users;

我想将“id”和“name”列映射到Person类的“id”和“name”属性,但将“age”和“address”列映射到“properties”映射中作为键值对。

mybatis可以吗?我使用的是最新版本的mybatis。

1 个答案:

答案 0 :(得分:0)

以下应该做你期望的事情:

<resultMap id="personResultMap" type="Person">
  <id property="id" column="id"/>  
  <result property="name" column="name"/>
  <association property="properties" javaType="map">
    <result property="age" column="age"/>
    <result property="address" column="address"/>
 </association>
</resultMap>

使用隐式映射(列 - &gt;属性名称匹配),以下甚至可以就足够了:

<resultMap id="personResultMap" type="Person">
  <association property="properties" javaType="map" />
</resultMap>