解决方案
持久层用mybatis-plus , 然后实现MetaObjectHandler接口,便可以解决问题。
具体步骤
1 在字段属性加入注解
2 实现MetaObjectHandler接口,重新插入和更新的操作
3 通过set方法填充
4 一些特殊字段的填充,比如用户ID(其他的变量同理),需要登录后获得,可以用 ThreadLocal处理。
科普下ThreadLocal(大神就不用看了)
ThreadLocal是Thread的局部变量。当使用ThreadLocal维护变量时,ThreadLocal为每 个使用该变量的线程提供独立的变量副本,所以每一个线程 都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。
然后在登录后把userID设置进ThreadLocal即可。