ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

MyBatisÔõÑù´¦ÀíÒ»¶ÔÒ»¹ØÁª¹ØÏµ£¿·Ö²½Öè½éÉÜ

¸üÐÂʱ¼ä:2021Äê06ÔÂ24ÈÕ18ʱ01·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

ÔÚÏÖʵÉú»îÖУ¬Ò»¶ÔÒ»¹ØÁª¹ØÏµÊÇÊ®·Ö³£¼ûµÄ¡£ÀýÈ磬һ¸öÈËÖ»ÄÜÓÐÒ»¸öÉí·ÝÖ¤£¬Í¬Ê±Ò»¸öÉí·ÝÖ¤Ò²Ö»»á¶ÔÓ¦Ò»¸öÈË£¬ËüÃÇÖ®¼äµÄ¹ØÏµÄ£ÐÍͼ£¬Èçͼ1Ëùʾ¡£

MyBatisÔõÑù´¦ÀíÒ»¶ÔÒ»¹ØÁª¹ØÏµ

ͼ1 ÈËÓëÉí·ÝÖ¤µÄ¹ØÁª¹ØÏµ

ÄÇôʹÓÃMyBatisÊÇÔõô´¦Àíͼ1ÖеÄÕâÖÖÒ»¶ÔÒ»¹ØÁª¹ØÏµµÄÄØ£¿ÔÚ<resultMap>ÔªËØÖУ¬°üº¬ÁËÒ»¸ö<association>×ÓÔªËØ£¬MyBatis¾ÍÊÇͨ¹ý¸ÃÔªËØÀ´´¦ÀíÒ»¶ÔÒ»¹ØÁª¹ØÏµµÄ¡£

ÔÚ<association>ÔªËØÖУ¬Í¨³£¿ÉÒÔÅäÖÃÒÔÏÂÊôÐÔ£º

¡ñ property£ºÖ¸¶¨Ó³Éäµ½µÄʵÌåÀà¶ÔÏóÊôÐÔ£¬Óë±í×Ö¶ÎÒ»Ò»¶ÔÓ¦£»

¡ñ column£ºÖ¸¶¨±íÖжÔÓ¦µÄ×ֶΣ»

¡ñ javaType£ºÖ¸¶¨Ó³É䵽ʵÌå¶ÔÏóÊôÐÔµÄÀàÐÍ£»

¡ñ select£ºÖ¸¶¨ÒýÈëǶÌײéѯµÄ×ÓSQLÓï¾ä£¬¸ÃÊôÐÔÓÃÓÚ¹ØÁªÓ³ÉäÖеÄǶÌײéѯ£»

¡ñ fetchType£ºÖ¸¶¨ÔÚ¹ØÁª²éѯʱÊÇ·ñÆôÓÃÑÓ³Ù¼ÓÔØ¡£fetchTypeÊôÐÔÓÐlazyºÍeagerÁ½¸öÊôÐÔÖµ£¬Ä¬ÈÏֵΪlazy£¨¼´Ä¬ÈϹØÁªÓ³ÉäÑÓ³Ù¼ÓÔØ£©¡£

<association>ÔªËØµÄʹÓ÷dz£¼òµ¥£¬Ö»ÐèÒª²Î¿¼ÈçÏÂÁ½ÖÖʾÀýÅäÖü´¿É£¬¾ßÌåÈçÏ£º

<!--·½Ê½Ò»£ºÇ¶Ìײéѯ-->
<association property="card" column="card_id" 
javaType="com.itheima.po.IdCard"
             select="com.itheima.mapper.IdCardMapper.findCodeById" />
<!--·½Ê½¶þ£ºÇ¶Ì×½á¹û-->
<association property="card" javaType="com.itheima.po.IdCard">
    <id property="id" column="card_id" />
    <result property="code" column="code" />
</association>

×¢Ò⣺

MyBatisÔÚÓ³ÉäÎļþÖмÓÔØ¹ØÁª¹ØÏµ¶ÔÏóÖ÷Ҫͨ¹ýÁ½ÖÖ·½Ê½£ºÇ¶ÌײéѯºÍǶÌ×½á¹û¡£Ç¶ÌײéѯÊÇָͨ¹ýÖ´ÐÐÁíÍâÒ»ÌõSQLÓ³ÉäÓï¾äÀ´·µ»ØÔ¤ÆÚµÄ¸´ÔÓÀàÐÍ£»Ç¶Ì×½á¹ûÊÇʹÓÃǶÌ×½á¹ûÓ³ÉäÀ´´¦ÀíÖØ¸´µÄÁªºÏ½á¹ûµÄ×Ó¼¯¡£¿ª·¢ÈËÔ±¿ÉÒÔʹÓÃÉÏÊöÈÎÒâÒ»ÖÖ·½Ê½ÊµÏÖ¶Ô¹ØÁª¹ØÏµµÄ¼ÓÔØ¡£

Á˽âÁËMyBatisÖд¦ÀíÒ»¶ÔÒ»¹ØÁª¹ØÏµµÄÔªËØºÍ·½Ê½ºó£¬½ÓÏÂÀ´¾ÍÒÔ¸öÈ˺ÍÉí·ÝÖ¤Ö®¼äµÄÒ»¶ÔÒ»¹ØÁª¹ØÏµÎªÀý£¬½øÐÐÏêϸ½²½â¡£

²éѯ¸öÈ˼°Æä¹ØÁªµÄÉí·ÝÖ¤ÐÅÏ¢ÊÇÏÈͨ¹ý²éѯ¸öÈ˱íÖеÄÖ÷¼üÀ´»ñ¸öÈËÐÅÏ¢£¬È»ºóͨ¹ý±íÖеÄÍâ¼ü£¬À´»ñȡ֤¼þ±íÖеÄÉí·ÝÖ¤ºÅÐÅÏ¢¡£Æä¾ßÌåʵÏÖ²½ÖèÈçÏ£º

£¨1£©´´½¨Êý¾Ý±í¡£ÔÚmybatisÊý¾Ý¿âÖзֱ𴴽¨ÃûΪtb_idcardºÍtb_personµÄÊý¾Ý±í£¬Í¬Ê±Ô¤ÏȲåÈëÁ½ÌõÊý¾Ý¡£ÆäÖ´ÐеÄSQLÓï¾äÈçÏÂËùʾ£º

USE mybatis;
# ´´½¨Ò»¸öÃû³ÆÎªtb_idcardµÄ±í
CREATE TABLE  tb_idcard( 
     id INT PRIMARY KEY AUTO_INCREMENT,
     CODE VARCHAR(18)
);
# ²åÈë2ÌõÊý¾Ý
INSERT INTO tb_idcard(CODE) VALUES('152221198711020624');
INSERT INTO tb_idcard(CODE) VALUES('152201199008150317');
# ´´½¨Ò»¸öÃû³ÆÎªtb_personµÄ±í
CREATE TABLE  tb_person( 
     id INT PRIMARY KEY AUTO_INCREMENT,
     name VARCHAR(32),
     age INT,
     sex VARCHAR(8),
     card_id INT UNIQUE,     
     FOREIGN KEY(card_id) REFERENCES tb_idcard(id)
);
# ²åÈë2ÌõÊý¾Ý
INSERT INTO tb_person(name,age,sex,card_id) VALUES('Rose',29,'Å®',1);
INSERT INTO tb_person(name,age,sex,card_id) VALUES('tom',27,'ÄÐ',2);

Íê³ÉÉÏÊö²Ù×÷ºó£¬Êý¾Ý¿âtb_idcardºÍtb_person±íÖеÄÊý¾ÝÈçͼ2Ëùʾ¡£

MyBatisÔõÑù´¦ÀíÒ»¶ÔÒ»¹ØÁª¹ØÏµ

ͼ2 tb_idcardºÍtb_person±í

£¨2£©ÔÚEclipseÖд´½¨Ò»¸öÃûΪchapter09µÄWebÏîÄ¿£¬È»ºóÒýÈëÏà¹ØJAR°ü¡¢log4jÈÕÖ¾Îļþ¡¢MybatisUtils¹¤¾ßÀàÒÔ¼°mybatis-config.xmlºËÐÄÅäÖÃÎļþ¡£ÏîÄ¿»·¾³´î½¨Íê³ÉºóµÄÎļþ½á¹¹£¬Èçͼ3Ëùʾ¡£

1624527322485_43.png

ͼ3 ÏîÄ¿Îļþ½á¹¹

£¨3£©ÔÚÏîÄ¿µÄcom.itheima.po°üÏ´´½¨³Ö¾Ã»¯ÀàIdCardºÍPerson£¬±à¼­ºóµÄ´úÂ룬ÈçÎļþ1ºÍÎļþ2Ëùʾ¡£

Îļþ1 IdCard.java

     package com.itheima.po;
     /**
      * Ö¤¼þ³Ö¾Ã»¯Àà
      */
     public class IdCard {
         private Integer id;
         private String code;
         public Integer getId() {
             return id;
         }
         public void setId(Integer id) {
             this.id = id;
         }
         public String getCode() {
             return code;
         }
         public void setCode(String code) {
             this.code = code;
         }
         @Override
         public String toString() {
             return "IdCard [id=" + id + ", code=" + code + "]";
         }
     }


Îļþ2 Person.java

     package com.itheima.po;
     /**
      * ¸öÈ˳־û¯Àà
      */
     public class Person {
         private Integer id;
         private String name;
         private Integer age;
         private String sex;
         private IdCard card;  //¸öÈ˹ØÁªµÄÖ¤¼þ
         public Integer getId() {
             return id;
         }
         public void setId(Integer id) {
             this.id = id;
         }
         public String getName() {
             return name;
         }
         public void setName(String name) {
             this.name = name;
         }
         public Integer getAge() {
             return age;
         }
         public void setAge(Integer age) {
             this.age = age;
         }
         public String getSex() {
             return sex;
         }
         public void setSex(String sex) {
             this.sex = sex;
         }
         public IdCard getCard() {
             return card;
         }
         public void setCard(IdCard card) {
             this.card = card;
         }
         @Override
         public String toString() {
             return "Person [id=" + id + ", name=" + name + ", "
                     + "age=" + age + ", sex=" + sex + ", card=" + card + "]";
         }
     }

ÔÚÉÏÊöÁ½¸öÎļþÖУ¬·Ö±ð¶¨ÒåÁ˸÷×ÔµÄÊôÐÔÒÔ¼°¶ÔÓ¦µÄgetter/setter·½·¨£¬Í¬Ê±ÎªÁË·½±ã²é¿´Êä³ö½á¹û»¹ÖØÐ´ÁËtoString()·½·¨¡£

£¨4£©ÔÚcom.itheima.mapper°üÖУ¬´´½¨Ö¤¼þÓ³ÉäÎļþIdCardMapper.xmlºÍ¸öÈËÓ³ÉäÎļþPersonMapper.xml£¬²¢ÔÚÁ½¸öÓ³ÉäÎļþÖбàдһ¶ÔÒ»¹ØÁªÓ³Éä²éѯµÄÅäÖÃÐÅÏ¢£¬ÈçÎļþ3ºÍÎļþ4Ëùʾ¡£

Îļþ3 IdCardMapper.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="com.itheima.mapper.IdCardMapper">
       <!-- ¸ù¾Ýid²éѯ֤¼þÐÅÏ¢ -->
       <select id="findCodeById" parameterType="Integer" resultType="IdCard">
           SELECT * from tb_idcard where id=#{id}
       </select>
     </mapper>


Îļþ4 PersonMapper.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="com.itheima.mapper.PersonMapper">
         <!-- ǶÌײéѯ£ºÍ¨¹ýÖ´ÐÐÁíÍâÒ»ÌõSQLÓ³ÉäÓï¾äÀ´·µ»ØÔ¤ÆÚµÄÌØÊâÀàÐÍ -->
         <select id="findPersonById" parameterType="Integer" 
                                           resultMap="IdCardWithPersonResult">
             SELECT * from tb_person where id=#{id}
         </select>
         <resultMap type="Person" id="IdCardWithPersonResult">
             <id property="id" column="id" />
             <result property="name" column="name" />
             <result property="age" column="age" />
             <result property="sex" column="sex" />
             <!-- Ò»¶ÔÒ»£ºassociationʹÓÃselectÊôÐÔÒýÈëÁíÍâÒ»ÌõSQLÓï¾ä -->
             <association property="card" column="card_id" javaType="IdCard"
                 select="com.itheima.mapper.IdCardMapper.findCodeById" />
         </resultMap>
     </mapper>

ÔÚÉÏÊöÁ½¸öÓ³ÉäÎļþÖУ¬Ê¹ÓÃÁËMyBatisÖеÄǶÌײéѯ·½Ê½½øÐÐÁ˸öÈ˼°Æä¹ØÁªµÄÖ¤¼þÐÅÏ¢²éѯ£¬ÒòΪ·µ»ØµÄ¸öÈ˶ÔÏóÖгýÁË»ù±¾ÊôÐÔÍ⻹ÓÐÒ»¸ö¹ØÁªµÄcardÊôÐÔ£¬ËùÒÔÐèÒªÊÖ¶¯±àд½á¹ûÓ³Éä¡£´ÓÓ³ÉäÎļþPersonMapper.xmlÖпÉÒÔ¿´³ö£¬Ç¶ÌײéѯµÄ·½·¨ÊÇÏÈÖ´ÐÐÒ»¸ö¼òµ¥µÄSQLÓï¾ä£¬È»ºóÔÚ½øÐнá¹ûÓ³Éäʱ£¬½«¹ØÁª¶ÔÏóÔÚ<association>ÔªËØÖÐʹÓÃselectÊôÐÔÖ´ÐÐÁíÒ»ÌõSQLÓï¾ä£¨¼´IdCardMapper.xmlÖеÄSQL£©¡£

£¨5£©ÔÚºËÐÄÅäÖÃÎļþmybatis-config.xmlÖУ¬ÒýÈëMapperÓ³ÉäÎļþ²¢¶¨Òå±ðÃû£¬ÈçÎļþ5Ëùʾ¡£

Îļþ5 mybatis-config.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>
         <!-- ÒýÈëÊý¾Ý¿âÁ¬½ÓÅäÖÃÎļþ -->
         <properties resource="db.properties" />
         <!--ʹÓÃɨÃè°üµÄÐÎʽ¶¨Òå±ðÃû -->
         <typeAliases>
             <package name="com.itheima.po" />
         </typeAliases>
         <!--ÅäÖû·¾³ £¬Ä¬ÈϵĻ·¾³idΪmysql -->
         <environments default="mysql">
             <!-- ÅäÖÃidΪmysqlµÄÊý¾Ý¿â»·¾³ -->
             <environment id="mysql">
                 <!-- ʹÓÃJDBCµÄÊÂÎñ¹ÜÀí -->
                 <transactionManager type="JDBC" />
                 <!--Êý¾Ý¿âÁ¬½Ó³Ø -->
                 <dataSource type="POOLED">
                     <property name="driver" value="${jdbc.driver}" />
                     <property name="url" value="${jdbc.url}" />
                     <property name="username" value="${jdbc.username}" />
                     <property name="password" value="${jdbc.password}" />
                 </dataSource>
             </environment>
         </environments>
         <!--ÅäÖÃMapperµÄλÖà -->
          <mappers>
              <mapper resource="com/itheima/mapper/IdCardMapper.xml" />
              <mapper resource="com/itheima/mapper/PersonMapper.xml" />
          </mappers>
     </configuration>

ÔÚÉÏÊöºËÐÄÅäÖÃÎļþÖУ¬Ê×ÏÈÒýÈëÁËÊý¾Ý¿âÁ¬½ÓµÄÅäÖÃÎļþ£¬È»ºóʹÓÃɨÃè°üµÄÐÎʽ×Ô¶¨Òå±ðÃû£¬½ÓÏÂÀ´½øÐл·¾³µÄÅäÖã¬×îºóÅäÖÃÁËMapperÓ³ÉäÎļþµÄλÖÃÐÅÏ¢¡£

£¨6£©ÔÚcom.itheima.test°üÖУ¬´´½¨²âÊÔÀàMybatisAssociatedTest£¬²¢ÔÚÀàÖбàд²âÊÔ·½·¨findPersonByIdTest()£¬ÈçÎļþ6Ëùʾ¡£

Îļþ6 MybatisAssociatedTest.java

     package com.itheima.test;
     import org.apache.ibatis.session.SqlSession;
     import org.junit.Test;
     import com.itheima.po.Person;
     import com.itheima.utils.MybatisUtils;
     /**
      * Mybatis¹ØÁª²éѯӳÉä²âÊÔÀà
      */
     public class MybatisAssociatedTest {
         /**
          * ǶÌײéѯ
          */
         @Test
         public void findPersonByIdTest() {
             // 1¡¢Í¨¹ý¹¤¾ßÀàÉú³ÉSqlSession¶ÔÏó
             SqlSession session = MybatisUtils.getSession();
             // 2.ʹÓÃMyBatisǶÌײéѯµÄ·½Ê½²éѯidΪ1µÄÈ˵ÄÐÅÏ¢
             Person person = session.selectOne("com.itheima.mapper." 
                                        + "PersonMapper.findPersonById", 1);
             // 3¡¢Êä³ö²éѯ½á¹ûÐÅÏ¢
             System.out.println(person);
             // 4¡¢¹Ø±ÕSqlSession
             session.close();
         }
     }

ÔÚÎļþ6µÄfindPersonByIdTest()·½·¨ÖУ¬Ê×ÏÈͨ¹ýMybatisUtils¹¤¾ßÀà»ñÈ¡ÁËSqlSession¶ÔÏó£¬È»ºóͨ¹ýSqlSession¶ÔÏóµÄselectOne()·½·¨»ñÈ¡Á˸öÈËÐÅÏ¢¡£ÎªÁ˲鿴½á¹û£¬ÕâÀïʹÓÃÁËÊä³öÓï¾äÊä³ö²éѯ½á¹ûÐÅÏ¢¡£×îºó³ÌÐòÖ´ÐÐÍê±Ïʱ£¬¹Ø±ÕÁËSqlSession¡£

ʹÓÃJUnit4Ö´ÐÐfindPersonByIdTest()·½·¨ºó£¬¿ØÖÆÌ¨µÄÊä³ö½á¹ûÈçͼ4Ëùʾ¡£

MyBatisÔõÑù´¦ÀíÒ»¶ÔÒ»¹ØÁª¹ØÏµ

ͼ4 ÔËÐнá¹û

´Óͼ4¿ÉÒÔ¿´³ö£¬Ê¹ÓÃMyBatisǶÌײéѯµÄ·½Ê½²éѯ³öÁ˸öÈ˼°Æä¹ØÁªµÄÉí·ÝÖ¤ÐÅÏ¢£¬Õâ¾ÍÊÇMyBatisÖеÄÒ»¶ÔÒ»¹ØÁª²éѯ¡£

ËäȻʹÓÃǶÌײéѯµÄ·½Ê½±È½Ï¼òµ¥£¬µ«ÊÇ´Óͼ4ÖпÉÒÔ¿´³ö£¬MyBatisǶÌײéѯµÄ·½Ê½ÒªÖ´ÐжàÌõSQLÓï¾ä£¬Õâ¶ÔÓÚ´óÐÍÊý¾Ý¼¯ºÏºÍÁбíչʾ²»ÊǺܺã¬ÒòΪÕâÑù¿ÉÄܻᵼÖ³ɰÙÉÏǧÌõ¹ØÁªµÄSQLÓï¾ä±»Ö´ÐУ¬´Ó¶ø¼«´óµÄÏûºÄÊý¾Ý¿âÐÔÄܲ¢ÇһήµÍ²éѯЧÂÊ¡£Õâ²¢²»ÊÇ¿ª·¢ÈËÔ±ËùÆÚÍûµÄ¡£Îª´Ë£¬ÎÒÃÇ¿ÉÒÔʹÓÃMyBatisÌṩµÄǶÌ×½á¹û·½Ê½£¬À´½øÐйØÁª²éѯ¡£

ÔÚPersonMapper.xmlÖУ¬Ê¹ÓÃMyBatisǶÌ×½á¹ûµÄ·½Ê½½øÐиöÈ˼°Æä¹ØÁªµÄÖ¤¼þÐÅÏ¢²éѯ£¬ËùÌí¼ÓµÄ´úÂëÈçÏÂËùʾ£º

<!-- ǶÌ×½á¹û£ºÊ¹ÓÃǶÌ×½á¹ûÓ³ÉäÀ´´¦ÀíÖØ¸´µÄÁªºÏ½á¹ûµÄ×Ó¼¯ -->
<select id="findPersonById2" parameterType="Integer" 
                                   resultMap="IdCardWithPersonResult2">
    SELECT p.*,idcard.code
    from tb_person p,tb_idcard idcard
    where p.card_id=idcard.id 
    and p.id= #{id}
</select>
<resultMap type="Person" id="IdCardWithPersonResult2">
    <id property="id" column="id" />
    <result property="name" column="name" />
    <result property="age" column="age" />
    <result property="sex" column="sex" />
    <association property="card" javaType="IdCard">
        <id property="id" column="card_id" />
        <result property="code" column="code" />
    </association>
</resultMap>

´ÓÉÏÊö´úÂëÖпÉÒÔ¿´³ö£¬MyBatisǶÌ×½á¹ûµÄ·½Ê½Ö»±àдÁËÒ»Ìõ¸´ÔӵĶà±í¹ØÁªµÄSQLÓï¾ä£¬²¢ÇÒÔÚ<association>ÔªËØÖмÌÐøÊ¹ÓÃÏà¹Ø×ÓÔªËØ½øÐÐÊý¾Ý¿â±í×ֶκÍʵÌåÀàÊôÐÔµÄÒ»Ò»Ó³Éä¡£

ÔÚ²âÊÔÀàMybatisAssociatedTestÖУ¬±àд²âÊÔ·½·¨findPersonByIdTest2()£¬Æä´úÂëÈçÏÂËùʾ¡£

/**
 * ǶÌ×½á¹û
 */
@Test
public void findPersonByIdTest2() {
    // 1¡¢Í¨¹ý¹¤¾ßÀàÉú³ÉSqlSession¶ÔÏó
    SqlSession session = MybatisUtils.getSession();
    // 2.ʹÓÃMyBatisǶÌ×½á¹ûµÄ·½·¨²éѯidΪ1µÄÈ˵ÄÐÅÏ¢
    Person person = session.selectOne("com.itheima.mapper." 
                               + "PersonMapper.findPersonById2", 1);
    // 3¡¢Êä³ö²éѯ½á¹ûÐÅÏ¢
    System.out.println(person);
    // 4¡¢¹Ø±ÕSqlSession
    session.close();
}

ʹÓÃJUnit4Ö´ÐÐfindPersonByIdTest2()·½·¨ºó£¬¿ØÖÆÌ¨µÄÊä³ö½á¹ûÈçͼ5Ëùʾ¡£

MyBatisÔõÑù´¦ÀíÒ»¶ÔÒ»¹ØÁª¹ØÏµ

ͼ5 ÔËÐнá¹û

´Óͼ5¿ÉÒÔ¿´³ö£¬Ê¹ÓÃMyBatisǶÌ×½á¹ûµÄ·½Ê½Ö»Ö´ÐÐÁËÒ»ÌõSQLÓï¾ä£¬²¢ÇÒͬÑù²éѯ³öÁ˸öÈ˼°Æä¹ØÁªµÄÉí·ÝÖ¤µÄÐÅÏ¢¡£

MyBatisÑÓ³Ù¼ÓÔØµÄÅäÖãº

ÔÚʹÓÃMyBatisǶÌײéѯ·½Ê½½øÐÐMyBatis¹ØÁª²éѯӳÉäʱ£¬Ê¹ÓÃMyBatisµÄÑÓ³Ù¼ÓÔØÔÚÒ»¶¨³Ì¶ÈÉÏ¿ÉÒÔ½µµÍÔËÐÐÏûºÄ²¢Ìá¸ß²éѯЧÂÊ¡£MyBatisĬÈÏûÓпªÆôÑÓ³Ù¼ÓÔØ£¬ÐèÒªÔÚºËÐÄÅäÖÃÎļþmybatis-config.xmlÖеÄ<settings>ÔªËØÄÚ½øÐÐÅäÖ㬾ßÌåÅäÖ÷½Ê½ÈçÏ£º

<settings>
     <!-- ´ò¿ªÑÓ³Ù¼ÓÔØµÄ¿ª¹Ø -->  
    <setting name="lazyLoadingEnabled" value="true" />  
    <!-- ½«»ý¼«¼ÓÔØ¸ÄΪÏûÏ¢¼ÓÔØ£¬¼´°´Ðè¼ÓÔØ -->  
    <setting name="aggressiveLazyLoading" value="false"/>  
</settings>

ÔÚÓ³ÉäÎļþÖУ¬MyBatis¹ØÁªÓ³ÉäµÄ<association>ÔªËØºÍ<collection>ÔªËØÖж¼ÒÑĬÈÏÅäÖÃÁËÑÓ³Ù¼ÓÔØÊôÐÔ£¬¼´Ä¬ÈÏÊôÐÔfetchType="lazy"£¨ÊôÐÔfetchType="eager"±íʾÁ¢¼´¼ÓÔØ£©£¬ËùÒÔÔÚÅäÖÃÎļþÖпªÆôÑÓ³Ù¼ÓÔØºó£¬ÎÞÐèÔÚÓ³ÉäÎļþÖÐÔÙ×öÅäÖá£







²ÂÄãϲ»¶£º

MybatisÔ­Àí½éÉÜ£ºMyBatisÈçºÎ²Ù×÷Êý¾Ý¿â£¿

ʲôÊÇMybatis?MybaitsÓÐÄÄЩÓŵ㣿

MybatisÖ´ÐÐSQLÃüÁîÊÇÔõôʵÏֵģ¿

MyBatisÖÐʹÓÃ#ºÍ$ÓÐÊ²Ã´Çø±ð£¿

ÀÖÓãµç¾ºjava¿ª·¢Åàѵ

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿