一对一:

    • @Results:封装映射关系的父注解
    • @Result[] value():定义了Result数组
    • @Result:封装映射关系的子注解

    column属性:查询出的表中字段名称
    property属性:实体对象中的属性名称
    javaType属性:被包含对象的数据类型
    one属性:一对一查询固定属性
    @One:一对多的注解
    select属性:指定调用某个接口中的方法

    1. @Select("SELECT * FROM card")
    2. @Results({
    3. @Result(column = "id", property = "id"),
    4. @Result(column = "name", property = "name"),
    5. @Result(
    6. property = "p", // 被包含对象的变量名
    7. javaType = Person.class, // 被包含对象实际的数据类型
    8. column = "pid", // 根据查询出的classes标的id来查询student表
    9. /*
    10. one、@One 一对一固定写发
    11. select属性:指定调用哪个接口中的哪个方法
    12. */
    13. one = @One(select = "com.test01.one_to_one.StudentMapper.selectById")
    14. )
    15. })
    16. public default List<Classes> selectAll() {
    17. return null;
    18. }

    一对多:

    • @Results:封装映射关系的父注解
    • @Result[] value():定义了Result数组
    • @Result:封装映射关系的子注解

    column属性:查询出的表中字段名称
    property属性:实体对象中的属性名称
    javaType属性:被包含对象的数据类型
    many属性:一对多查询固定属性
    @Many:一对多的注解
    select属性:指定调用某个接口中的方法

    1. @Select("SELECT * FROM classes")
    2. @Results({
    3. @Result(column = "id", property = "id"),
    4. @Result(column = "name", property = "name"),
    5. @Result(
    6. property = "students", // 被包含对象的变量名
    7. javaType = List.class, // 被包含对象实际的数据类型
    8. column = "id", // 根据查询出的classes标的id来查询student表
    9. /*
    10. many、@Many 一对多固定写发
    11. select属性:指定调用哪个接口中的哪个方法
    12. */
    13. many = @Many(select = "com.test01.one_to_many.StudentMapper.selectByCid")
    14. )
    15. })
    16. public default List<Classes> selectAll() {
    17. return null;
    18. }