国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Mybatis - 表關聯one-to-many

DevTTL / 739人閱讀

摘要:單對一,使用單對多,使用,使用嵌套結果,不是必需的,但是是必需的,使用嵌套查詢,是必需的,不是必須的,子查詢自定義即可表結構表擁有屬性對應表更改,添加屬性嵌套結果獲取,嵌套查詢獲取,有屬性有屬性

one to one - association ; //單對一,使用association one to many -
collection ; //單對多,使用collection

Nested results - column is not necessary ,javaType is necessary !
//使用嵌套結果,column 不是必需的,但是JavaType是必需的;

nested queries - column is necessary ,javaType is not necessary !
//使用嵌套查詢,column是必需的,JavaType不是必須的,子查詢自定義resultType即可!!

表結構:

t_student 表擁有屬性 class_id 對應 t_class表 t_id

【1】更改Classes,添加屬性
public class Classes {

    private int id;
    private String name;
    private Teacher teacher;
    private List list;
    ...
}
【2】嵌套結果-獲取Classes,Teacher AND list

     
        
        

        
        
            
            
        

        
        
            
            
        
     
    
 
【3】嵌套查詢–獲取Classes,Teacher AND list
 

        

     

     
        
        

        
        
        

        
        
        
        
     
     
  
【4】Test

獲取SqlSessionFactory的工具類:

 public static SqlSessionFactory getFactory(){
            /* flow the src dir*/
            String resource = "mybatis.xml";
            /*MybatisUtils.class.getResourceAsStream(resource)----- it"s wrong !!!!
             * please distinguish the two up and down 
             * */
            InputStream inputStream = MybatisUtils.class.getClassLoader().getResourceAsStream(resource);
    
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
    
    
            return factory;
        }
        

測試方法

@Test
   public void testSelect4(){
       /*set auto commit ,which equals to the above*/
       SqlSession session = MybatisUtils.getFactory().openSession(true);

       String statement = "com.web.mapper.classMapper.getClass4";
       /*return the effect rows*/
       Classes classes = session.selectOne(statement, 1);
       Teacher teacher = classes.getTeacher();
       List list = classes.getList();
       System.out.println("result.."+classes+","+classes.getClass());
       System.out.println(teacher);
       System.out.println(list);
   }

result as follows :
> result..Classes [id=1, list=[Student [id=1, name=stu1], Student [id=2,
> name=stu2], Student [id=3, name=stu3]], name=計算機, teacher=Teacher
> [id=1, name=李明]],class com.web.model.Classes Teacher [id=1, name=李明]
> [Student [id=1, name=stu1], Student [id=2, name=stu2], Student [id=3,
> name=stu3]]

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68188.html

相關文章

  • Sequelizejs 關聯

    摘要:看似一對一其實一對多這里的指的應該是查詢數據主表結果中關聯信息是以單個形式作為一個屬性掛在主表每一個對象中實際上是主表與關聯表的多對一關系拿中的和中的進行關聯配置的別名配置中的外鍵字段名稱,默認為配置中的目標鍵字段名稱,默認為主鍵查 One-To-One 看似一對一,其實一對多.這里的 One-To-One 指的應該是查詢數據(主表)結果中,關聯信息是以單個形式作為一個屬性掛在主表每一...

    Thanatos 評論0 收藏0
  • MybatisCRUD與多關聯的無SQL通用方案_2: 無SQL實現關聯查詢的自動綁定

    摘要:對關聯另外的實體關聯查詢另外一張表的多個實體如部門實體對應的對象中需要關聯多個子部門實體。對于關聯一個或多個實體的情況,一般通過的實現無的實現方案不寫,不通過的,要更優雅的實現關聯的自動綁定,一個主流的方案就是類似的注解了。 上一篇無SQL實現單表CRUD中我們已經通過Mybatis-plus插件的通用Mapper實現了單表的CRUD的無SQL化,已經可以有效減少Mybatis的代碼量...

    30e8336b8229 評論0 收藏0
  • 通過項目逐步深入了解Mybatis<三>

    摘要:場合常見一些明細記錄的展示,比如用戶購買商品明細,將關聯查詢信息全部展示在頁面時,此時可直接使用將每一條記錄映射到中,在前端頁面遍歷中是即可。作用將關聯查詢信息映射到一個對象中。 相關閱讀: 1、通過項目逐步深入了解Mybatis 2、 通過項目逐步深入了解Mybatis 本項目所有代碼及文檔都托管在 Github地址:https://github.com/zhisheng17/myb...

    khlbat 評論0 收藏0

發表評論

0條評論

DevTTL

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<