mybatis反向生成代碼 實(shí)際開發(fā),mybatis逆向生成用的多嗎?
實(shí)際開發(fā),mybatis逆向生成用的多嗎?逆向工程簡(jiǎn)介什么是逆向工程:mybatis需要程序員自己編寫sql語句,mybatis官方提供逆向工程,可以針對(duì)單表自動(dòng)生成mybatis執(zhí)行所需要的代碼(m
實(shí)際開發(fā),mybatis逆向生成用的多嗎?
逆向工程簡(jiǎn)介
什么是逆向工程:
mybatis需要程序員自己編寫sql語句,mybatis官方提供逆向工程,可以針對(duì)單表自動(dòng)生成mybatis執(zhí)行所需要的代碼(mapper.java、mapper.xml、pojo…),可以讓程序員將更多的精力放在繁雜的業(yè)務(wù)邏輯上。
企業(yè)實(shí)際開發(fā)中,常用的逆向工程方式:由數(shù)據(jù)庫的表生成java代碼。
之所以強(qiáng)調(diào)單表兩個(gè)字,是因?yàn)镸ybatis逆向工程生成的Mapper所進(jìn)行的操作都是針對(duì)單表的,也許你可能會(huì)覺得那這就有點(diǎn)雞肋了,但是在大型項(xiàng)目中,很少有復(fù)雜的多表關(guān)聯(lián)查詢,所以作用還是很大的。
mybatis逆向工程非常強(qiáng)大,可以大大提高工作效率,而且也不會(huì)出現(xiàn)數(shù)據(jù)庫表與實(shí)體類對(duì)不上號(hào)的情況。用eclipse插件更簡(jiǎn)單一點(diǎn),不用自己寫執(zhí)行的代碼,但是自己手動(dòng)也不算麻煩,而且不依賴了開發(fā)工具。
為什么要使用Mybatis逆向工程?
我們之前說過MyBatis是一個(gè)"半自動(dòng)"的ORM框架,SQL語句需要開發(fā)者自定義,這樣做的好處是代碼更加靈活,缺點(diǎn)是如果參與業(yè)務(wù)的表太多,每張表的業(yè)務(wù)都需要自定義SQL,創(chuàng)建實(shí)體類,DAO接口,難免會(huì)很麻煩。所以我們需要使用逆向工程,讓MyBatis自動(dòng)生成表對(duì)應(yīng)的各種資源,大大減少我們的工作量。
Mybatis逆向工程有什么不足?
逆向工程有它自身的局限性,逆向工程方法只能執(zhí)行一次,如果再次執(zhí)行就會(huì)重復(fù)生成對(duì)應(yīng)的DAO接口,實(shí)體類等資源。如果需要對(duì)表結(jié)構(gòu)進(jìn)行修改,那么就必須刪除已經(jīng)生成的所有資源,重新生成一次。
mybatis逆向生成代碼怎么不想用mapper?
mybatis的一個(gè)主要的特點(diǎn)就是需要程序員自己編寫sql,那么如果表太多的話,難免會(huì)很麻煩,所以mybatis官方提供了一個(gè)逆向工程,可以針對(duì)單表自動(dòng)生成mybatis執(zhí)行所需要的代碼(包括mapper.xml、mapper.java、po..)。一般在開發(fā)中,常用的逆向工程方式是通過數(shù)據(jù)庫的表生成代碼。