Skip to content

一个基于springboot自动填充属性框架,填充字段/对象/List,无需写SQL,支持多级填充。

Notifications You must be signed in to change notification settings

yzcheng90/autofull

Repository files navigation

autofull-spring-boot-starter (自动填充属性框架)

Image text Image text Image text

更新日志

【AutoFull】 -- 为偷懒而生。

设计初衷,为了摆脱重复的劳动力和冗余代码,以极简的代码实现功能,易维护

实现功能

  • 关联表查询无需写业务逻辑及SQL
  • 多表关联查询无需写业务逻辑,只需要自定义SQL到返回字段上面即可
  • 敏感字段返回前断,只需要一个注解就可自动加解密
  • 所有绑定数据库查询的注解均默认使用redis 缓存,减少数据库操作
  • 当执行数据库曾、删、改操作时,涉及到缓存数据则自动删除对应表缓存,已免造成脏读

基于 springboot 和 mybatis plus

依赖

<dependency>
  <groupId>com.github.yzcheng90</groupId>
  <artifactId>autofull-spring-boot-starter</artifactId>
  <version>1.5.4</version>
</dependency>

Example

《autofull-spring-boot-starter-example》

示例代码:

实现功能:查询用户和菜单

Bean
@Data
@TableName("sys_user")
public class SysUser {

  @TableId(value = "user_id", type = IdType.AUTO)
  public Long userId;

  @TableField(exist = false)
  @AutoFullList(table = "sys_menu",conditionField = "userId")
  public List<SysMenu> menuList;

  class SysMenu {
     
        public Long menuId;
        public String menuName;
        public Long userId;
  }

}

注意:这个userId 字段必须是 SysUser 这个bean 里面有的字段,否则查询不到

controller

@RestController
public class SysUserController {
    
    @Autowired
    public SysUserService sysUserService;
    
    @AutoFullData
    @RequestMapping("/list")
	public Object list(@RequestParam Map<String, Object> params){
       List<SysUser> list = sysUserService.list();
       return list;
    }
    
}

返回结果

访问 :http://localhost:8080/list

{
  "userId": 1,
  "menuList": [{
      "menuId": 1,
      "menuName": "用户管理",
      "userId": 1
   }]
}

相关博客

CSDN《自动填充系列

最后

  • 交流QQ群:17470566
  • 本人QQ:913624256
  • 如果喜欢,记得star fork 谢谢您的关注 本项目会持续维护

About

一个基于springboot自动填充属性框架,填充字段/对象/List,无需写SQL,支持多级填充。

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages