201110:bo/vo...区分-sql语句三张表查询-maven打包-打包出错XXX不存在-用duceap打包

一. entity、bo、vo、po、dto、pojo如何理解和区分?

Entity

最常用实体类,基本和数据表一一对应,一个实体一张表。

Bo(business object)

代表业务对象的意思,Bo就是把业务逻辑封装为一个对象(注意是逻辑,业务逻辑),这个对象可以包括一个或多个其它的对象。通过调用Dao方法,结合Po或Vo进行业务操作。

形象描述为一个对象的形为和动作,当然也有涉及到基它对象的一些形为和动作。比如处理一个人的业务逻辑,该人会睡觉,吃饭,工作,上班等等行为,还有可能和别人发关系的行为,处理这样的业务逻辑时,我们就可以针对BO去处理。

再比如投保人是一个Po,被保险人是一个Po,险种信息也是一个Po等等,他们组合起来就是一张保单的Bo。

Vo(value object)

代表值对象的意思,通常用于业务层之间的数据传递,由new创建,由GC回收。
主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象,然后用一个VO对象在控制层与视图层进行传输交换。

Po(persistant object)

代表持久层对象的意思,对应数据库中表的字段,数据库表中的记录在java对象中的显示状态,最形象的理解就是一个PO就是数据库中的一条记录。

好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。Vo和Po,都是属性加上属性的get和set方法;表面看没什么不同,但代表的含义是完全不同的。

Dto(data transfer object)

代表数据传输对象的意思
是一种设计模式之间传输数据的软件应用系统,数据传输目标往往是数据访问对象从数据库中检索数据
数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具任何行为除了存储和检索的数据(访问和存取器)
简而言之,就是接口之间传递的数据封装
表里面有十几个字段:id,name,gender(M/F),age……
页面需要展示三个字段:name,gender(男/女),age
DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构

Pojo(plian ordinary java object)

代表简单无规则java对象
纯的传统意义的java对象,最基本的Java Bean只有属性加上属性的get和set方法

可以额转化为PO、DTO、VO;比如POJO在传输过程中就是DTO

二. sql语句左链接left join--3张表关联

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

三. maven打包

以前总结过文章详情

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

pom.xml文件


    koal.usap.client
    client
    1.0.0
    system
    ${basedir}\src\lib\koal.usap.client-4.3.0.jar

把包放在src/lib目录下

五. 用duceap打包

1. pom文件中添加


    
        
            maven-dependency-plugin
            
                
                    copy-libs
                    package
                    
                        copy-dependencies
                    
                    
                        
                        ${project.build.directory}/lib
                        
                        true
                    
                
                
                    unpack
                    package
                    
                        unpack
                    
                    
                        
                            
                                com.dragonsoft
                                duceap-base
                                
                                2.1.0-SNAPSHOT
                                ${project.build.directory}/temp
                                
                                META-INF/scripts/**
                            
                        
                    
                
            
        
        
            maven-assembly-plugin
            2.5.5
            
                
                    make-assembly
                    package
                    
                        single
                    
                    
                        ${project.name}-${project.version}
                        false
                        
                        src/main/assembly/assembly.xml
                    
                
            
        
        
            org.apache.maven.plugins
            maven-jar-plugin
            2.4
            
                
                    
                        
                        com.dragonsoft.StartDemoApplication
                        true
                        
                        false
                    
                    
                        koal.usap.client-4.3.0.jar
                    
                
            
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.6.0
            
                8
                8
            
        
    

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

有引用maven仓库里没有的话需要配置,有个jar放在了src/lib下


    src/lib
    lib
    0755

![001](C:\Users\Administrator\Desktop\学习要点摘要\学习笔记\复盘\201110\001.png)
    assembly
    
        tar.gz
    
    true
    
        
            ${project.build.directory}/temp/META-INF/scripts/
            /bin
            
                *.sh
                *.bat
            
            0755
        
        
            src/main/webapp
            web
            0755
        
        
            src/main/assembly/conf
            conf
            0755
        
        
            ${project.build.directory}/lib
            lib
            0755
        
        
            src/lib
            lib
            0755
        
        
            ${project.build.directory}
            lib
            
                *.jar
            
            0755
        
    

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

点击maven下的打包命令即可

你可能感兴趣的:(201110:bo/vo...区分-sql语句三张表查询-maven打包-打包出错XXX不存在-用duceap打包)