zoukankan      html  css  js  c++  java
  • MyBatis延迟加载

    一对一

    SqlMapConfig.xml

    <configuration>
    <!--开启延迟加载-->
    <settings>
    <!--延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置 fetchType 属性来覆盖该项的开关状态。-->
    <setting name="lazyLoadingEnabled" value="true"/>
    <!--开启时,任一方法的调用都会加载该对象的所有延迟加载属性。 否则,每个延迟加载属性会按需加载(参考 lazyLoadTriggerMethods)。-->
    <setting name="aggressiveLazyLoading" value="false"/>
    </settings>
    ...
    </configuration>

    Mapper映射文件
      
    <resultMap id="lazyMap" type="Account">
    <id property="id" column="id"></id>
    <result property="uid" column="uid"></result>
    <result property="money" column="money"></result>
    <!--column必填,指定传参属性,select指定全限定类目.方法名,延迟加载时会调用该方法的sql去填充数据,所以先确保该方法正确-->
    <association property="user" javaType="user" column="uid" select="com.company.dao.IUserMapper.findByUid">
    </association>
    </resultMap>
    <select id="findAll" resultMap="lazyMap">
    SELECT
    *
    FROM
    account
    </select>
    一对多

      
    Mapper映射文件
      
    <!--type和ofType都使用了别名-->
    <resultMap id="lazyMap" type="user">
    <id property="id" column="id"></id>
    <result property="username" column="username"></result>
    <result property="birthday" column="birthday"></result>
    <result property="sex" column="sex"></result>
    <result property="address" column="address"></result>
    <!--配置一对多属性-->
    <collection property="accounts" ofType="Account" select="com.aiitec.dao.IAccountMapper.findByUid" column="id">
    </collection>
    </resultMap>
    <select id="findAll" resultMap="lazyMap">
    SELECT
    *
    FROM
    USER
    </select>



  • 相关阅读:
    PHPMailer 发送邮件
    Joomla with blog modification
    PHPGD库分类整理
    转 memcache保存php的session 解决多服务器的session问题
    PHP缓存检查
    PHP HMVC框架kohana 小结1
    安装新版ganglia web UI 笔记。
    oracle sqlserver & oracle temp
    db mysql error list / mysql tools / mysql error_list
    oracle sql statement temp
  • 原文地址:https://www.cnblogs.com/zou-rong/p/12454300.html
Copyright © 2011-2022 走看看