易理货项目开发规范

本文档包含易理货使用的编码格式规范和业务规范,目的是减少项目成员的交流成本以及保证项目的延续性,需要项目成员共同遵守。

通用约定

  1. 执行git config --global user.name "中文姓名" 将提交者姓名改成自己的中文名字
  2. pom.xml中的依赖的version必须定义成property,以方便对依赖的管理

数据库定义规范

  1. 数据库,表,字段,索引等的名称采用以 下划线连接的的小写单词 的命名方式。如product_brand_info。
  2. 尽可能的加强数据库层面的数据约束。即 非空约束,唯一性约束,外键约束 等都尽可能的加上。
  3. 所有的表都必须带主键,并且主键的字段名称是 id ,类型为 自增长int unsigned类型
  4. 所有表都增加create_user_id,update_user_id,create_time,update_time四个字段,其类型分别为 int unsigneddatetime
  5. 表,字段等可以写注释的地方必须写注释,尽可能详细的说明表或者字段的作用,使用限制等信息。

dubbo相关规范

  1. 为了能够减少dto的数量,将entity放在api工程里,在api路径下执行 mvn antrun:run@table2entity 可根据表结构自动生成entity.由于生成entity的模板格式与我们定义的代码格式不一样,生成entity后需要手工在ide里进行一下格式化
  2. dubbo接口接口参数超过3个,需要定义单独的dto,在dto里定义所有的参数。 DTO应该实现序列化接口
  3. 所有的Service实现都继承BaseJpaService,这里定义了基本的CRUD操作。

dubbo数据库访问

  1. 本次在工程中我们尝试结合spring-data-jpa和mybatis来进行数据库查询。使用原则为对单表的增、删、改和简单(能轻易的按照spring-data-jpa规则定义出来的查询)的查询使用spring-data-jpa。 对于复杂的查询(单表复杂条件和多表联合查询)使用mybatis。
  2. spring-data-jpa的使用方法参考 官方文档 使用的时候主要参考3.4节和附录C。 中文可以参考IBM DeveloperWorks。我们主要使用 解析方法名 的方法来进行查询

web工程

  1. 为jsh, css等静态资源添加版本号,并保证每次发版的时候版本号更新,以防止因客户端缓存造成的页面功能不正常。