MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。在 MyBatis 中,内部类和外部类的交互主要通过以下几种方式:
例如:
    <id property="id" column="id"/>
   <result property="name" column="name"/>
   <association property="address" javaType="com.example.Address">
       <result property="street" column="street"/>
       <result property="city" column="city"/>
    </association>
   <collection property="orders" ofType="com.example.Order">
       <result property="id" column="order_id"/>
       <result property="amount" column="order_amount"/>
    </collection>
</resultMap>
<typeAliases> 标签定义别名。例如:
<typeAliases>
    <typeAlias type="com.example.User" alias="User"/>
    <typeAlias type="com.example.Address" alias="Address"/>
    <typeAlias type="com.example.Order" alias="Order"/>
</typeAliases>
<if>、<choose>、<where> 等标签根据条件生成动态 SQL。例如:
    SELECT * FROM user
   <where>
        <if test="id != null">
            AND id = #{id}
        </if>
    </where>
</select>
总之,MyBatis 提供了丰富的功能和灵活的配置方式,可以满足各种内部类与外部类之间的交互需求。在实际项目中,可以根据具体需求选择合适的方式来实现交互。