1、为什么使用mybatisplus自动填充
在项目开发中,我们会发现有一些数据库表字段是每个表都有的,在之前针对这些字段我们的目前的处理方式就是 增加或者修改的时候一个一个的去赋值,如果都按这样的方法进行操作的话,那我们就需要在每个业务方法中进行操作,这样会显得我们的代码过于冗余、繁琐。
2、实现步骤
①注解填充字段 @TableField(… fill = FieldFill.INSERT)
把每个数据库表字段在每个表中都有的加上@TableField注解。注意属性赋值类型。
②自定义元数据对象处理器
下面的对应公共字段将自动填充
③Controller就用再像前面那样赋值了
3、ThreadLocal
注意上述步骤二中,给createUser赋值,由于该类不能从Session中获取userid,所以我们根据ThreadLocal线程性质,创建一个BaseContext类,就是一个ThreadLocal封装工具类,ThreadLocal原理和Session类似,也是在一个线程中,线程id不变。下面两个方法,一个设置数值,一个获取数值。
我们在过滤器中,就是判断登录是否成功的地方,将用户id保存到里面。
在MyMetaObjecthandler类中给createUser赋值。
标签:填充,自动,ThreadLocal,Session,线程,mybatis,plus,赋值 From: https://www.cnblogs.com/xdqx/p/17643159.html