在MyBatis中实现一对一映射关系可以通过在MyBatis的mapper文件中使用
public class MainEntity { private Long id; private String name; private SubEntity subEntity; // getters and setters}public class SubEntity { private Long id; private String subName; // getters and setters}创建对应的mapper文件,定义resultMap来实现一对一映射关系。<!-- MainEntityMapper.xml --><mapper namespace="com.example.MainEntityMapper"> <resultMap id="MainEntityResultMap" type="com.example.MainEntity"> <id property="id" column="id"/> <result property="name" column="name"/> <association property="subEntity" column="sub_id" javaType="com.example.SubEntity"> <id property="id" column="sub_id"/> <result property="subName" column="sub_name"/> </association> </resultMap> <select id="selectMainEntityById" resultMap="MainEntityResultMap"> SELECT m.id, m.name, s.id as sub_id, s.sub_name FROM main_entity m LEFT JOIN sub_entity s ON m.sub_id = s.id WHERE m.id = #{id} </select></mapper>在对应的Java接口中定义查询方法。public interface MainEntityMapper { MainEntity selectMainEntityById(Long id);}在MyBatis配置文件中配置对应的mapper。<!-- mybatis-config.xml --><configuration> <mappers> <mapper resource="com/example/MainEntityMapper.xml"/> </mappers></configuration>在代码中调用查询方法并获取一对一映射关系。MainEntity mainEntity = mainEntityMapper.selectMainEntityById(1L);System.out.println(mainEntity.getName());System.out.println(mainEntity.getSubEntity().getSubName());通过以上步骤,就可以实现一对一映射关系的查询操作。




