Mybatis 一对多延迟加载,并且子查询中与主表字段不对应应用说明。
实现一对多关联(懒加载),一个教研组对应多个教师,既:教师的教研编号与教研组的教研编号关联,并且教师关联教研组外键与教研组编号不一致。
1、工程资源配置文件
1)、本应用实际应用到了(开启延迟加载配置、关闭立即加载配置);
2) 、外关联查询语句对应xml文件 :<mapper resource="com/mybatis03/mapper/teacherGroupToTeacherMapper.xml"/>
3)、主查询xml文件:<mapper resource="com/mybatis03/mapper/TeacherMapper.xml"/>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!-- 开启日志,并制定使用的具体日志,LOG4J 对应 log4j.properties的文件名 --> <setting value="LOG4J"/> <!-- 开启延迟加载 --> <setting value="true"/> <!-- g关闭立即加载 --> <setting value="false"/> </settings> <!-- 转换器 --> <typeHandlers> <!-- 把java类的boolean类型转换数据 int,数据库int转换为java类的boolean类型 --> <typeHandler handler="com.mybatis03.util.BooleanAndIntConverter" javaType="Boolean" jdbcType="INTEGER"/> </typeHandlers> <environments default="development"> <environment> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property value="com.mysql.jdbc.Driver"/> <property value="jdbc:mysql://127.0.0.1:3306/mybatis01"/> <property value="root"/> <property value="root"/> </dataSource> </environment> </environments> <mappers> <!-- 加载映射文件 --> <mapper resource="com/mybatis03/mapper/personMapper.xml"/> <mapper resource="com/mybatis03/mapper/TeacherMapper.xml"/> <mapper resource="com/mybatis03/mapper/teacherCourseMapper.xml"/> <!-- 外关联查询语句对应xml文件 --> <mapper resource="com/mybatis03/mapper/teacherGroupToTeacherMapper.xml"/> </mappers> </configuration>