SpringBootCodeGenerator
SpringBootCodeGenerator copied to clipboard
mp sql,实体类,controller,对于id这个属性各玩各的,使用姿势不对吗?
- 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("ä¿åæå");
}
这里确实不够智能,所以每次都要大致修改一下。后续会优化一下id,因为有些可能是联合组建,就更复杂