mybatis log4j日志+查询懒加载

博客主要介绍了MyBatis的日志配置,包括Log4j的jar包位置,开启日志的conf.xml设置,以及日志寻找顺序。还提到编写配置日志输出文件和日志级别的设置建议。此外,涉及了一对一和一对多的映射文件,如StuMapper.xml和ClassMapper.xml,可通过日志查看懒加载是否生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日志

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>

通过日志课查辨别 懒加载 是否生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值