成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Mybatis - 表關(guān)聯(lián)one-to-many

DevTTL / 747人閱讀

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

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

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

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

表結(jié)構(gòu):

t_student 表擁有屬性 class_id 對應(yīng) t_class表 t_id

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

    private int id;
    private String name;
    private Teacher teacher;
    private List list;
    ...
}
【2】嵌套結(jié)果-獲取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=計(jì)算機(jī), 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]]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68188.html

相關(guān)文章

  • Sequelizejs 關(guān)聯(lián)

    摘要:看似一對一其實(shí)一對多這里的指的應(yīng)該是查詢數(shù)據(jù)主表結(jié)果中關(guān)聯(lián)信息是以單個形式作為一個屬性掛在主表每一個對象中實(shí)際上是主表與關(guān)聯(lián)表的多對一關(guān)系拿中的和中的進(jìn)行關(guān)聯(lián)配置的別名配置中的外鍵字段名稱,默認(rèn)為配置中的目標(biāo)鍵字段名稱,默認(rèn)為主鍵查 One-To-One 看似一對一,其實(shí)一對多.這里的 One-To-One 指的應(yīng)該是查詢數(shù)據(jù)(主表)結(jié)果中,關(guān)聯(lián)信息是以單個形式作為一個屬性掛在主表每一...

    Thanatos 評論0 收藏0
  • MybatisCRUD與多關(guān)聯(lián)的無SQL通用方案_2: 無SQL實(shí)現(xiàn)關(guān)聯(lián)查詢的自動綁定

    摘要:對關(guān)聯(lián)另外的實(shí)體關(guān)聯(lián)查詢另外一張表的多個實(shí)體如部門實(shí)體對應(yīng)的對象中需要關(guān)聯(lián)多個子部門實(shí)體。對于關(guān)聯(lián)一個或多個實(shí)體的情況,一般通過的實(shí)現(xiàn)無的實(shí)現(xiàn)方案不寫,不通過的,要更優(yōu)雅的實(shí)現(xiàn)關(guān)聯(lián)的自動綁定,一個主流的方案就是類似的注解了。 上一篇無SQL實(shí)現(xiàn)單表CRUD中我們已經(jīng)通過Mybatis-plus插件的通用Mapper實(shí)現(xiàn)了單表的CRUD的無SQL化,已經(jīng)可以有效減少M(fèi)ybatis的代碼量...

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

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

    khlbat 評論0 收藏0

發(fā)表評論

0條評論

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