201110:bo/vo...區(qū)分-sql語句三張表查詢-maven打包-打包出錯XXX不存在-用duceap打包

一. entity事示、bo早像、vo、po肖爵、dto卢鹦、pojo如何理解和區(qū)分?

Entity

最常用實體類遏匆,基本和數(shù)據(jù)表一一對應(yīng)法挨,一個實體一張表谁榜。

Bo(business object)

代表業(yè)務(wù)對象的意思幅聘,Bo就是把業(yè)務(wù)邏輯封裝為一個對象(注意是邏輯,業(yè)務(wù)邏輯)窃植,這個對象可以包括一個或多個其它的對象帝蒿。通過調(diào)用Dao方法,結(jié)合Po或Vo進行業(yè)務(wù)操作巷怜。

形象描述為一個對象的形為和動作葛超,當然也有涉及到基它對象的一些形為和動作。比如處理一個人的業(yè)務(wù)邏輯延塑,該人會睡覺绣张,吃飯,工作关带,上班等等行為侥涵,還有可能和別人發(fā)關(guān)系的行為,處理這樣的業(yè)務(wù)邏輯時,我們就可以針對BO去處理怠肋。

再比如投保人是一個Po膏执,被保險人是一個Po痊乾,險種信息也是一個Po等等,他們組合起來就是一張保單的Bo笼沥。

Vo(value object)

代表值對象的意思,通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞娶牌,由new創(chuàng)建奔浅,由GC回收。
主要體現(xiàn)在視圖的對象诗良,對于一個WEB頁面將整個頁面的屬性封裝成一個對象乘凸,然后用一個VO對象在控制層與視圖層進行傳輸交換。

Po(persistant object)

代表持久層對象的意思累榜,對應(yīng)數(shù)據(jù)庫中表的字段营勤,數(shù)據(jù)庫表中的記錄在java對象中的顯示狀態(tài),最形象的理解就是一個PO就是數(shù)據(jù)庫中的一條記錄壹罚。

好處是可以把一條記錄作為一個對象處理葛作,可以方便的轉(zhuǎn)為其它對象。Vo和Po猖凛,都是屬性加上屬性的get和set方法赂蠢;表面看沒什么不同,但代表的含義是完全不同的辨泳。

Dto(data transfer object)

代表數(shù)據(jù)傳輸對象的意思
是一種設(shè)計模式之間傳輸數(shù)據(jù)的軟件應(yīng)用系統(tǒng)虱岂,數(shù)據(jù)傳輸目標往往是數(shù)據(jù)訪問對象從數(shù)據(jù)庫中檢索數(shù)據(jù)
數(shù)據(jù)傳輸對象與數(shù)據(jù)交互對象或數(shù)據(jù)訪問對象之間的差異是一個以不具任何行為除了存儲和檢索的數(shù)據(jù)(訪問和存取器)
簡而言之,就是接口之間傳遞的數(shù)據(jù)封裝
表里面有十幾個字段:id菠红,name第岖,gender(M/F),age……
頁面需要展示三個字段:name试溯,gender(男/女)蔑滓,age
DTO由此產(chǎn)生,一是能提高數(shù)據(jù)傳輸?shù)乃俣?減少了傳輸字段)遇绞,二能隱藏后端表結(jié)構(gòu)

Pojo(plian ordinary java object)

代表簡單無規(guī)則java對象
純的傳統(tǒng)意義的java對象键袱,最基本的Java Bean只有屬性加上屬性的get和set方法

可以額轉(zhuǎn)化為PO、DTO摹闽、VO蹄咖;比如POJO在傳輸過程中就是DTO

二. sql語句左鏈接left join--3張表關(guān)聯(lián)

select * fomr 表名A  left join 表B  on  表A字段=表B的id   left join 表c  on 表A字段=表c的id

三. maven打包

以前總結(jié)過文章詳情

四. idea中maven打包出錯錯誤: 程序包koal.usap.client.bean不存在

pom.xml文件

<dependency>
    <groupId>koal.usap.client</groupId>
    <artifactId>client</artifactId>
    <version>1.0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}\src\lib\koal.usap.client-4.3.0.jar</systemPath>
</dependency>

把包放在src/lib目錄下

五. 用duceap打包

1. pom文件中添加

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-libs</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <!--<excludeScope>provided</excludeScope>-->
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        <!--取消依賴包的時間戳-->
                        <useBaseVersion>true</useBaseVersion>
                    </configuration>
                </execution>
                <execution>
                    <id>unpack</id>
                    <phase>package</phase>
                    <goals>
                        <goal>unpack</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>com.dragonsoft</groupId>
                                <artifactId>duceap-base</artifactId>
                                <!--根據(jù)框架版本修改-->
                                <version>2.1.0-SNAPSHOT</version>
                                <outputDirectory>${project.build.directory}/temp</outputDirectory>
                                <!--加入平臺的啟動腳本-->
                                <includes>META-INF/scripts/**</includes>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.5.5</version>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                        <finalName>${project.name}-${project.version}</finalName>
                        <appendAssemblyId>false</appendAssemblyId>
                        <!--配置描述文件路徑-->
                        <descriptor>src/main/assembly/assembly.xml</descriptor>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                        <!--運行jar包時運行的主類,要求類全名-->
                        <mainClass>com.dragonsoft.StartDemoApplication</mainClass>
                        <addClasspath>true</addClasspath>
                        <!--取消MANIFEST.MF中classpath下的時間戳-->
                        <useUniqueVersions>false</useUniqueVersions>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>koal.usap.client-4.3.0.jar</Class-Path>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.0</version>
            <configuration>
                <source>8</source>
                <target>8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

2. 新增文件src/main/assembly/assembly.xml

有引用maven倉庫里沒有的話需要配置付鹿,有個jar放在了src/lib下

<fileSet>
    <directory>src/lib</directory>
    <outputDirectory>lib</outputDirectory>
    <fileMode>0755</fileMode>
</fileSet>
![001](C:\Users\Administrator\Desktop\學(xué)習(xí)要點摘要\學(xué)習(xí)筆記\復(fù)盤\201110\001.png)<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id>assembly</id>
    <formats>
        <format>tar.gz</format>
    </formats>
    <includeBaseDirectory>true</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/temp/META-INF/scripts/</directory>
            <outputDirectory>/bin</outputDirectory>
            <includes>
                <include>*.sh</include>
                <include>*.bat</include>
            </includes>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>src/main/webapp</directory>
            <outputDirectory>web</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>src/main/assembly/conf</directory>
            <outputDirectory>conf</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>${project.build.directory}/lib</directory>
            <outputDirectory>lib</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>src/lib</directory>
            <outputDirectory>lib</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>${project.build.directory}</directory>
            <outputDirectory>lib</outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
            <fileMode>0755</fileMode>
        </fileSet>
    </fileSets>
</assembly>

3. src/main/assembly/conf下把配置文件放到conf目錄下

點擊maven下的打包命令即可

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末澜汤,一起剝皮案震驚了整個濱河市铝量,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌银亲,老刑警劉巖慢叨,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異务蝠,居然都是意外死亡拍谐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門馏段,熙熙樓的掌柜王于貴愁眉苦臉地迎上來轩拨,“玉大人,你說我怎么就攤上這事院喜⊥鋈兀” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵喷舀,是天一觀的道長砍濒。 經(jīng)常有香客問我,道長硫麻,這世上最難降的妖魔是什么爸邢? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮拿愧,結(jié)果婚禮上杠河,老公的妹妹穿的比我還像新娘。我一直安慰自己浇辜,他們只是感情好券敌,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柳洋,像睡著了一般待诅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膳灶,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天咱士,我揣著相機與錄音,去河邊找鬼轧钓。 笑死,一個胖子當著我的面吹牛锐膜,可吹牛的內(nèi)容都是我干的毕箍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼道盏,長吁一口氣:“原來是場噩夢啊……” “哼而柑!你這毒婦竟也來了文捶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤媒咳,失蹤者是張志新(化名)和其女友劉穎粹排,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涩澡,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡顽耳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了妙同。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片射富。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖粥帚,靈堂內(nèi)的尸體忽然破棺而出胰耗,到底是詐尸還是另有隱情,我是刑警寧澤芒涡,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布柴灯,位于F島的核電站,受9級特大地震影響费尽,放射性物質(zhì)發(fā)生泄漏弛槐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一依啰、第九天 我趴在偏房一處隱蔽的房頂上張望乎串。 院中可真熱鬧,春花似錦速警、人聲如沸叹誉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽长豁。三九已至,卻和暖如春忙灼,著一層夾襖步出監(jiān)牢的瞬間匠襟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工该园, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酸舍,地道東北人。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓里初,卻偏偏與公主長得像啃勉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子双妨,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容