日志
a.Log4j: log4j.jar (mybatis.zip中lib中包含此jar)
b.开启日志,conf.xml
<settings>
<!-- 开启日志,并指定使用的具体日志 -->
<setting name="logImpl" value="LOG4J"/>
</settings>
如果不指定,Mybatis就会根据以下顺序 寻找日志
SLF4J →Apache Commons Logging →Log4j 2 → Log4j →JDK logging
c.编写配置日志输出文件
log4j.properties,内容
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
日志级别:
DEBUG<INFO<WARN<ERROR
如果设置为info,则只显示 info及以上级别的信息;
建议:在开发时设置debug,在运行时设置为info或以上。
一对一:
StuMapper.xml
查询学生及对应的班级
<select id="selectO2O" resultMap="lazyO2O" parameterType="int">
select * from stu where stu_id = #{stuId}
</select>
<resultMap id="lazyO2O" type="org.zq.entity.Stu">
<id property="stuId" column="stu_id"/>
<result property="stuName" column="stu_name"/>
<result property="classId" column="class_id"/>
org.zq.mapper.MyClassMapper.selectClassMyId:查询班级的mapper
column:查询的依据
<association property="myclass" select="org.zq.mapper.MyClassMapper.selectClassMyId" column="class_id" >
</association>
</resultMap>
ClassMapper.xml
<select id="selectClassMyId" resultMap="tbClassChange" parameterType="int">
select * from class where class_id = #{classId}
</select>
<resultMap id="tbClassChange" type="org.zq.entity.MyClass">
<id property="classId" column="class_name"></id>
<result property="className" column="class_name"></result>
</resultMap>
一对多
ClassMapper.xml
<select id="selectClassStu" resultMap="tbClassChange2" parameterType="int">
select * from class where class_id = #{classId}
</select>
<resultMap id="tbClassChange2" type="org.zq.entity.MyClass">
<id property="classId" column="class_name"></id>
<result property="className" column="class_name"></result>
<collection property="stuList" ofType="org.zq.entity.Stu" select="org.zq.mapper.StuMapper.queryStuByClassId" column="class_id"></collection>
</resultMap>
StuMapper.xml
<select id="queryStuByClassId" resultMap="lazyO2M" parameterType="int">
select * from stu where class_id = #{classId}
</select>
<resultMap id="lazyO2M" type="org.zq.entity.Stu">
<id property="stuName" column="stu_name"/>
<result property="stuId" column="stu_id"/>
<result property="classId" column="class_id"/>
</resultMap>
通过日志课查辨别 懒加载 是否生效