Skip to content

mp sql,实体类,controller,对于id这个属性各玩各的,使用姿势不对吗? #162

@faithererer

Description

@faithererer
  • mysql:
CREATE TABLE `sys_permission` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `parent_id` bigint(20) DEFAULT NULL COMMENT '父级权限ID',
  `permission_name` varchar(64) NOT NULL COMMENT '权限名称',
  `permission_code` varchar(64) NOT NULL COMMENT '权限编码',
  `permission_type` tinyint(4) NOT NULL COMMENT '权限类型:1-菜单 2-按钮 3-接口',
  `path` varchar(255) DEFAULT NULL COMMENT '路由地址',
  `component` varchar(255) DEFAULT NULL COMMENT '前端组件',
  `icon` varchar(255) DEFAULT NULL COMMENT '图标',
  `sort` int(11) DEFAULT '0' COMMENT '排序',
  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:0-禁用 1-启用',
  `created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_permission_code` (`permission_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限表';
  • 实体类
@Data
@ApiModel("权限表")
public class Permission implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    /**
    * 主键ID
    */
    @ApiModelProperty("主键ID")
    private Long id; 

other code...
}
  • controller
    /**
    * 新增或编辑
    */
    @PostMapping("/save")
    public Object save(@RequestBody Permission permission){
        log.info("permission:"+JSON.toJSONString(permission));
// permission_id是哪个列,我了个无中生有 🤣
        Permission oldPermission = permissionMapper.selectOne(new QueryWrapper<Permission>().eq("permission_id",permission.getPermissionId())); 
        permission.setUpdateTime(new Date());
        if(oldPermission!=null){
            permissionMapper.updateById(permission);
        }else{
        if(permissionMapper.selectOne(new QueryWrapper<Permission>().eq("permission_name",permission.getPermissionName()))!=null){ 
            return ReturnT.error("保存失败,名字重复");
        }
        permission.setCreateTime(new Date());
        permissionMapper.insert(permission);
        }
        return CommonResult.success("保存成功");
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions