我已经定义了这样的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。
答案 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>