美文网首页
Java代码规范

Java代码规范

作者: 爱吃红色西红 | 来源:发表于2020-06-24 16:27 被阅读0次
    遵从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<Role> 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<OrderModel> getOrderList(OrderQuery q) {
            PageHelper.startPage(q.getPageNum(), q.getPageSize());
            List<OrderModel> list = baseMapper.getOrderList(q);
            return new PageInfo<>(list);
        }
    
        //...mapper
        //使用Provider可以替代xml形式,使用代码形式进行动态sql拼接
    
    @Mapper
    public interface OrderMapper extends BaseMapper<Order> {
    
        @SelectProvider(type = OrderProvider.class, method = "getOrderList")
        List<OrderModel> 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代码规范

          本文链接:https://www.haomeiwen.com/subject/nnwrfktx.html