Wing4j familyWing4j ORM 系列組件
使用Java的小伙伴們,被JDBC的SQL語(yǔ)句組裝折磨了很久,出現(xiàn)了ORM,例如Hibernate和MyBatis為代表的兩大流派。
Hibernate這個(gè)流派還是不錯(cuò)的,但是設(shè)計(jì)這個(gè)的小伙子可能沒有做過(guò)復(fù)雜的金融項(xiàng)目,所以覺得全對(duì)象映射用起來(lái)很方便。但是我們更多的是成百上千行的復(fù)雜業(yè)務(wù)場(chǎng)景,所以更多行業(yè)里選擇MyBatis。因?yàn)槲覀兡軌蚩刂芐QL的編寫,但是也有她不好的地方,那就是單表操作需要自己寫,要不就是 MyBatis code generator生成大量的不能改的自動(dòng)代碼。
你也許會(huì)說(shuō)難道就沒有一種既有Hibernate那樣好用的方式,又能使用MyBatis的手工SQL編寫,那么告訴你,Wing4j ORM組件就是為此而生的。
關(guān)于JPA
全稱Java Persistence API,通過(guò)JDK 5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。起源Sun引入新的JPA ORM規(guī)范出于兩個(gè)原因:其一,簡(jiǎn)化現(xiàn)有Java EE和Java SE應(yīng)用開發(fā)工作;其二,Sun希望整合ORM技術(shù),實(shí)現(xiàn)天下歸一。
所以現(xiàn)在存在大量的JPA編寫的數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象,那么Wing4j ORM就要支持JPA,將JPA帶到MyBatis的世界來(lái)。
wing4j家族
wing4j common
wing4j common
提供開發(fā)過(guò)程中的公共程序,日志跟蹤模塊,序號(hào)服務(wù)生成服務(wù)。
wing4j orm
目前基于MyBatis深度開發(fā),完成單表的操作的自動(dòng)生成,完全告別mybatis code generator方式,不再維護(hù)冗余的自動(dòng)生成代碼;
基于注解方式申明表結(jié)構(gòu),支持JPA注解和Wing4j注解兩種方式,JPA方式用于移植老舊的Hibernate程序;
實(shí)現(xiàn)完整的物理分頁(yè)功能,擁有簡(jiǎn)單易用;
支持單元測(cè)試時(shí)開發(fā)數(shù)據(jù)源,可以進(jìn)行單機(jī)免數(shù)據(jù)庫(kù)方式和MySQL數(shù)據(jù)源方式,詳細(xì)見wing4j test。
wing4j test
為TDD而生的測(cè)試開發(fā)支持,提供完整的數(shù)據(jù)庫(kù)支持
自動(dòng)創(chuàng)建表結(jié)構(gòu),無(wú)論多少次運(yùn)行單元測(cè)試,結(jié)果始終如一;
開發(fā)數(shù)據(jù)可以進(jìn)行本地?cái)?shù)據(jù)庫(kù)方式和MySQL數(shù)據(jù)源的選擇;
能夠根據(jù)環(huán)境選擇數(shù)據(jù)源,如果進(jìn)行的是Maven編譯,則不能使用MySQL數(shù)據(jù)源,必須使用本地?cái)?shù)據(jù)源。
wing4j toolkit
wing4j family的cli方式支持,提供強(qiáng)大的交互界面,完成項(xiàng)目整個(gè)過(guò)程的支持。
