zoukankan      html  css  js  c++  java
  • 学习Mybatis中的log4j和延迟加载

    一、下载log4j.jar导入项目。

    在conf.xml中开启日志:

    <settings>
    		<setting name="logImpl" value="LOG4J"/>
    	</settings>
    

      创建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
    

      运行测试类:

     二、延迟加载

         在personMapper.xml中添加:

    <!-- 使用resultMap关联查询,延迟加载 -->
    	   <select id="queryPerson_cardId4" resultMap="person_card_map2_lazyload">
    	 	select * from person2
    	 </select>
    	  <resultMap type="person" id="person_card_map2_lazyload">
    		  <id property="id" column="id"/>
    		  <result property="name" column="name"/>
    		  <result property="age" column="age"/>
    		  <result property="persex" column="sex"/>
    		  <!-- 一对一用association,采用延迟加载修改以下 -->
    		  <association property="card" javaType="PersonCard" select="org.ruangong.mapper.personcardMapper.querycardById" column="cardId">
    		  <!-- 	<id property="cardId" column="cardId"/>
    		  	<result property="cardInfo" column="cardInfo"/> -->
    		  </association>
    	  </resultMap>
    

      并在原mapper包中创建personcardMapper.xml。

    添加代码:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
     PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="org.ruangong.mapper.personcardMapper"> 
    	 	<!-- 使用resultMap关联查询,延迟加载 -->
    	   <select id="querycardById" parameterType="int" resultType="PersonCard">
    	 	select * from person_card where cardId = #{cardId}
    	 </select>
    </mapper>
    

      在conf.xml的mappers添加映射:

     <mapper resource="org/ruangong/mapper/personcardMapper.xml"/>
    

      在有开启log4j日志的setting标签中加入:

                    <!-- 开启延迟加载 -->
    				<setting name="lazyLoadingEnabled" value="true"/>
    		
    		<!-- 关闭立即加载 -->
    				<setting name="aggressiveLazyLoading" value="false"/>
    

      实现延迟加载。

  • 相关阅读:
    由吃饺子想到的多线程情况下的数据共享问题
    关于伪静态的几个体会
    最近改造的一款可多选的日历插件,已通过兼容性测试
    对kingthy创作的Vtemplate模板引擎的使用心得
    从前辈们整理的数据库优化经验中得到的一点心得分享
    关于近期对Lucene.Net应用研究学习的总结
    对SharpICTCLAS 1.0的一点小小的修改记录
    转 Blob、DataURL、canvas、image的相互转换
    节日_100
    模板生成_100
  • 原文地址:https://www.cnblogs.com/jccjcc/p/13965897.html
Copyright © 2011-2022 走看看