大数据正式京淘2

大数据正式京淘2

项目统一

  • 编码:UTF-8
  • 环境:JDK1.8
  • Maven:3.5
  • 数据库:5.5

项目支撑系统搭建

  • 新建working set管理jt项目
    • 注:这个只是将同一个大项目中的子项目放到一起,便于管理和查看
  • 新建Maven(java)项目之jt_parent
    • 注:把公共的依赖配置在这里项目里
  • 新建Maven(java)项目之jt_commond
    • 注:把基本项目依赖的基本工具类放在这个项目里

注意

  • 【java】项目创建完成以后要做的三件事
    1. java build path
    2. java complier
    3. worksapce的encoding

后台工程

  • 新建Maven(web)项目之jt_manager
    • 注:后台的的数据管理

注意

  • 【web】项目创建完成以后要做的四件事
    1. java build path
    2. java complier
    3. worksapce的encoding
    4. Project facets中的java版本

工程间的关系图

部署项目

  • 将jt_parent打成pom包
    • 即执行“Maven Install”命令
  • 将jt_common打成jar包
    • 即执行“Maven Install”命令
  • 给jt_manager项目添加tomcat插件,并配置启动的选项
    • Tomcat插件

    • 启动配置图解

常见错误

  • 项目莫名其妙的红色标记并有提示“Project configuration is not up-to-date 。。。”
    • 解决办法:
      • 右键项目->maven->maven update
      • 注意:可能环境会发生变化,记得重新把环境设置为1.8
  • 骨架错误
    • 暴力解决:删除重新执行【自动下载】
    • 原因:
      • 文件损坏
      • 没有及时刷新
      • 其他

数据库

  • 整体设计
  • 小点注意
    • id【字段】
      1. int(int)
        • 优点
          1. 性能高
        • 缺点
          1. 会重复
      2. long(bigint)
        • 优点
          1. 性能高
          2. 数据存储量比较大
        • 缺点
          1. 会重复
      3. String(varchar)
        • 优点
          1. uuid不重复--针对分布式的数据库
          2. 电商系统数据库不是分布式的,而是中央集中的,大量的查询已经被缓存给替代了
    • status【字段】
      • 0
      • 1
      • 用处:
        • 删除数据--伪删除
        • 当前的内容可见不可见
        • 当前的状态
        • 。。。
    • parent_id【字段】
      • 父id
      • 领导
      • 上级
      • 一般用于表的自关联
    • 外键
      • 一般数据库中不写外键约束
      • 由程序来维护外键的约束
    • UUID
      • 设计需求
        • 当数据整合时(各地向全国汇总时)
        • 为了避免重复数据而导致数据整合失败
      • 生成方法
        • java自带的UUID.randomUUID

JPA

  • 不用在mapper.xml文件中写对应关系【解放ResultMap】
  • @Table(name="表名")
  • @Id
  • 例子

    @Table(name = "tb_item_cat")
    public class ItemCat extends BasePojo {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private long id;
        private long parentId;
        private String name;
        private Integer status;
        private Integer sortOrder;
        private boolean isParent;
        //getter/setter方法。。。        
    }
    

项目搭建

  • 注:这里涉及到很多原始代码(工具类),这里只展示部分
  • 项目整体架子
  • 涉及到的比较重要的文件配置

    • jt_parent中

      • pom文件

        
            4.0.0
        
        
            com.peng
            jt_parent
            0.0.1-SNAPSHOT
            pom
        
        
            jt_parent
            http://maven.apache.org
        
            
                
                UTF-8
                
                4.10
                4.1.3.RELEASE
        
                3.2.8
                1.2.2
                1.2.15
                5.1.32
                0.8.0.RELEASE
                1.0.9
        
                2.3.2
                3.4.2
                0.9.1
        
                1.6.4
                1.2
                2.5
                2.0
                2.5
        
                3.3.2
                2.4
                1.3.1
        
                2.4.2
                4.3.5
                2.6.0
            
        
            
                
                
                    junit
                    junit
                    ${junit.version}
                    test
                
        
                
                
                    org.springframework
                    spring-context
                    ${spring.version}
                
                
                    org.springframework
                    spring-beans
                    ${spring.version}
                
                
                    org.springframework
                    spring-webmvc
                    ${spring.version}
                
                
                    org.springframework
                    spring-jdbc
                    ${spring.version}
                
                
                    org.springframework
                    spring-aspects
                    ${spring.version}
                
        
                
                
                    org.mybatis
                    mybatis
                    ${mybatis.version}
                
                
                    org.mybatis
                    mybatis-spring
                    ${mybatis.spring.version}
                
                
                    com.github.miemiedev
                    mybatis-paginator
                    ${mybatis.paginator.version}
                
        
                
                
                    mysql
                    mysql-connector-java
                    ${mysql.version}
                
        
                
                
                    com.github.abel533
                    mapper
                    ${mapper.version}
                
        
                
                
                    com.github.pagehelper
                    pagehelper
                    ${pagehelper.version}
                
                
                    com.github.jsqlparser
                    jsqlparser
                    ${jsqlparser.version}
                
        
                
                
                    com.jolbox
                    bonecp-spring
                    ${bonecp-spring.version}
                
        
                
                    org.slf4j
                    slf4j-log4j12
                    ${slf4j.version}
                
        
                
                
                    com.fasterxml.jackson.core
                    jackson-databind
                    ${jackson.version}
                
        
                
                
                    org.apache.httpcomponents
                    httpclient
                    ${httpclient.version}
                
                
                    org.apache.httpcomponents
                    httpmime
                    4.3.1
                
        
                
                
                    com.rabbitmq
                    amqp-client
                    3.5.1
                
                
                    org.springframework.amqp
                    spring-rabbit
                    1.4.0.RELEASE
                
        
                
                
                    jstl
                    jstl
                    ${jstl.version}
                
                
                    javax.servlet
                    servlet-api
                    ${servlet-api.version}
                    provided
                
                
                    javax.servlet
                    jsp-api
                    ${jsp-api.version}
                    provided
                
        
                
                
                    joda-time
                    joda-time
                    ${joda-time.version}
                
        
                
                
                    org.apache.commons
                    commons-lang3
                    ${commons-lang3.version}
                
                
                    org.apache.commons
                    commons-io
                    ${commons-io.version}
                
        
                
                
                    commons-fileupload
                    commons-fileupload
                    ${commons-fileupload.version}
                
        
                
                
                    redis.clients
                    jedis
                    ${jedis.version}
                
        
        
                
                
                    commons-codec
                    commons-codec
                    1.9
                
        
                
                
                    org.hibernate
                    hibernate-validator
                    5.1.3.Final
                
            
        
        
    • jt_commond中

      • 基本工具(这部分略)
    • jt_manager中

      • 配置文件
        • 2018-01-12 22:19:08 
      • 具体配置

        • mybatis-config.xml

          
          
          
          
              
                  
                  
                  
                  
              
          
              
                  
                  
                      
                      
                      
                      
                      
                  
          
                  
                  
                      
                      
                      
                      
                  
              
          
                          
          
        • applicationContext-mybatis.xml

          
          
              
              
                  
                  
                  
                  
                  
                  
                  
                  
              
          
              
              
                  
                  
              
          
          
          
        • applicationContext-transaction.xml

          
          
              
              
                  
              
          
              
              
                  
                      
                      
                      
                      
          
                      
                      
                      
                      
          
                      
                      
                  
              
          
              
                  
                  
                  
                  
              
          
          
        • appicatiionContext.xml

          
          
              
              
                  
                  
                  
                  
                  
                  
                      
                          classpath:jdbc.properties
                          classpath:env.properties
                      
                  
              
          
              
              
          
              
              
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
              
          
          
          
        • springmvc-config.xml

          
          
          
              
              
          
              
              
          
              
              
              
                  
                  
                  
                  
              
          
              
              
          
              
              
                  
                  
                  
                  
              
                          
          
        • env.properties

          REPOSITORY_PATH=c:\\jt-upload
          IMAGE_BASE_URL=http://image.jt.com                
          
        • jdbc.properties

          jdbc.driver=com.mysql.jdbc.Driver
          jdbc.url=jdbc:mysql://127.0.0.1:3306/jtdb?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
          jdbc.username=root
          jdbc.password=root
          
        • log4j.properties

          log4j.rootLogger=DEBUG,A1
          log4j.logger.org.mybatis = DEBUG
          log4j.appender.A1=org.apache.log4j.ConsoleAppender
          log4j.appender.A1.layout=org.apache.log4j.PatternLayout
          log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n
          

其他注意事项

  • mapper.xml文件的字段名和属性的映射用JPA写、
    • 即在pojo中直接加注解
      • @Table(name="数据库名")
      • @Id()
        • @GeneratedValue(strategy=GenerationType.IDENTITY)
      • @Column(name="字段名")

你可能感兴趣的:(达内实训,大数据学习痕迹)