Result注解在MyBatis中的屬性及配置

小樊
90
2024-08-09 23:57:37

在MyBatis中,Result注解用于映射查詢結(jié)果集中的列到Java對(duì)象的屬性。Result注解有如下屬性:

  1. property:指定Java對(duì)象中的屬性名,用于映射查詢結(jié)果集中的列值。
  2. column:指定查詢結(jié)果集中的列名,用于和Java對(duì)象的屬性進(jìn)行映射。
  3. jdbcType:指定查詢結(jié)果集中的列的JDBC類型,用于類型轉(zhuǎn)換。
  4. typeHandler:指定處理查詢結(jié)果集中的列值的類型處理器。
  5. one:用于映射一對(duì)一關(guān)聯(lián)查詢的結(jié)果。
  6. many:用于映射一對(duì)多關(guān)聯(lián)查詢的結(jié)果。

配置示例:

@Results({
    @Result(property = "id", column = "user_id", jdbcType = JdbcType.INTEGER),
    @Result(property = "username", column = "user_name", jdbcType = JdbcType.VARCHAR),
    @Result(property = "email", column = "user_email", jdbcType = JdbcType.VARCHAR),
    @Result(property = "roles", column = "user_id",
        many = @Many(select = "com.example.mapper.RoleMapper.findByUserId"))
})
public User findUserById(Integer userId);

0