Java代码规范

遵从java编码规范,目的做到代码规范、统一

鲁曾说过:只要代码规范了工作就完成了一半。。。

0.遵从java编码规范,类名大驼峰,方法、属性、变量小驼峰。
1.注意出现单词拼写,错误示例 getUserByMobileandName()。
2.不允许出现变量、类名、方法名出现下划线。
3.除了没有固定形式的返回可以用map,其余一律使用model(model往下看)。
4.entity:数据库表字段与实体类属性一一对应,字段下划线,属性小驼峰。
5.controller、service、mapper方法使用save、add、get、update、remove、set、exec等前缀,禁止使用select、delete、query等。
6.model: 是entity的扩展, 比如 entity/User 和 model/UserModel的关系如下:
 @Data
 class UserModel extends User {
        //这里是扩展用户的属性
      private int age;
      public int getAge() {
           //TODO 根据表字段birthday计算用户的年龄
           return age;
      }
      /**
       * 用户角色
      */
      private List roles;
 }

7.查询类接口参数使用 {{modelName}}Query,如 OrderQuery,UserQuery,除了FeignClient 不允许使用 @RequestParam ...,操作类参数使用 {{entityName}}Model 比如 UserModel, SysModel,JobModel, ResumeModel。

示例:

    //...controller

    /**
     * 获取订单列表
     */
    @GetMapping("getOrderList")
    public Object getOrderList(OrderQuery q) {
        return orderService.getOrderList(q);
    }
    
    //...service

    @Override
    public PageInfo getOrderList(OrderQuery q) {
        PageHelper.startPage(q.getPageNum(), q.getPageSize());
        List list = baseMapper.getOrderList(q);
        return new PageInfo<>(list);
    }

    //...mapper
    //使用Provider可以替代xml形式,使用代码形式进行动态sql拼接

@Mapper
public interface OrderMapper extends BaseMapper {

    @SelectProvider(type = OrderProvider.class, method = "getOrderList")
    List getOrderList(OrderQuery q);

    class OrderProvider {

        public String getOrderList(OrderQuery q) {
            SQL sql = new SQL() {{
                //动态sql
                SELECT("id,order_number");
                FROM("`order`");
                if (q.getId() != null) {
                    WHERE("id>0");
                }
                ORDER_BY("create_time desc");
            }};
            return sql.toString();
        }
    }
}
结构请看下图:
代码规范.png

你可能感兴趣的:(Java代码规范)