当前位置: 首页 > news >正文

网站关键词优化服务顺的网络做网站好不好

网站关键词优化服务,顺的网络做网站好不好,网站建设资料收集,互联网营销行业前景1.先说场景#xff0c;在对mysql数据库表数据插入或者更新时都得记录时间和用户id 传统实现有点繁琐#xff0c;这里还可以封装一下公共方法。 2.解决方法#xff1a; 2.1#xff1a;使用aop切面编程#xff08;记录一下#xff0c;有时间再攻克#xff09;。 2.1.1在对mysql数据库表数据插入或者更新时都得记录时间和用户id 传统实现有点繁琐这里还可以封装一下公共方法。 2.解决方法 2.1使用aop切面编程记录一下有时间再攻克。 2.1.1成功实现进行补充感谢网友顶力相助进步·于辰 2.1.2在启动器上加   EnableAspectJAutoProxy 2.1.3:切入主要代码 Aspect Component Slf4j public class EntityAttrAspect {Before(execution(* com.zuodou..*.save*(..)) ||execution(* com.zuodou..*.update*(..)))public void before(JoinPoint joinPoint) throws Exception {log.info(切入);String userId BaseUtlis.getCurrentUser().getId();// 管理员idObject[] args joinPoint.getArgs();for (Object arg : args) {if (arg ! null) {Class? clazz arg.getClass();// 获取实体所有属性进而获取主键属性。一般情况下主键属性是第一个Class? entityClass clazz; // 使用clazz获取实体类的类型Field[] entityFieldArr entityClass.getDeclaredFields();Field idField entityFieldArr[0];// 主键属性idField.setAccessible(true);//设置为可以访问Object id idField.get(arg); // 使用arg获取实体对象的主键值if (id null) {// 无主键插入if (StringUtils.isNotBlank(userId)){entityAttrIoc(arg, createBy, userId);// 创建人}entityAttrIoc(arg, createTime, new Date());// 创建时间} else {// 有主键更新if (StringUtils.isNotBlank(userId)){entityAttrIoc(arg, updateBy, userId);// 修改人}entityAttrIoc(arg, updateTime, new Date());// 更新时间}}}}// entityAttrIoc方法的定义可以是类似于下面这样的形式private void entityAttrIoc(Object entity, String attributeName, Object value) throws Exception {Field field entity.getClass().getDeclaredField(attributeName);field.setAccessible(true);field.set(entity, value);}} 注 Before(execution(* com.zuodou..*.save*(..)) ||execution(* com.zuodou..*.update*(..)) )切入点的表达式不懂了可以先去了解表达式配置 我只需要判断新增还是修改 Field idField entityFieldArr[0];// 主键属性 idField.setAccessible(true);//设置为可以访问我主键是由  file  和  static  修饰的  所以得加setAccessible 2.2使用TableField注解。 3.我使用的TableField  注解实现因为没有很多的业务处理单纯的记录一下以下是具体实现 Component public class MyMetaObjectHandler implements MetaObjectHandler {Overridepublic void insertFill(MetaObject metaObject) {// 在插入时自动填充 create_time 和 update_time 字段this.strictInsertFill(metaObject, createTime, Date.class, new Date());this.strictInsertFill(metaObject, createBy, String.class, BaseUtlis.getCurrentUser().getId());}Overridepublic void updateFill(MetaObject metaObject) {// 在更新时自动填充 update_time 字段this.strictUpdateFill(metaObject, updateTime,Date.class, new Date());this.strictInsertFill(metaObject, updateBy, String.class, BaseUtlis.getCurrentUser().getId());} }注: 字段需要跟实体类对应起来我项目架构是使用了驼峰命名使用下划线后字母大写。BaseUtlis.getCurrentUser().getId()这个是我封装的一个获取当前登录用户的方法。 参数解析 this.strictUpdateFill(metaObject, updateTime,Date.class, new Date()); metaObject对象 updateTime实体类目标字段 Date.class数据类型 new Date()具体值 4.yml配置 mybatis-plus:global-config:db-config:meta-object-handler: com.zuodou.mymeta.MyMetaObjectHandler 5.在对应实体类的字段上加 TableField(fill FieldFill.UPDATE) 或者 TableField(fill FieldFill.INSERT) 6.补充缺陷 直接在controllerdi调用根据id修改方法   或者 update 批量根据id修改 会不触发自动填充 解决使用update条件传入id或者在service调用而updateBatchById就需要手动传了。 至于为什么在service调用updateById就能触发 在 MyBatis Plus 中通常通过继承 ServiceImpl 类来实现 Service 层的操作。这个类提供了一些默认的 CRUD增删改查方法并且默认情况下会使用 MyBatis Plus 的内置功能比如自动填充。 当你在自己的 Service 类中继承了 ServiceImpl 并且指定了泛型类型比如 YourService extends ServiceImpllt;YourMapper, YourEntitygt;这样就将 YourService 和 YourEntity 关联起来了。 MyBatis Plus 的 ServiceImpl 已经预先实现了一些常见的操作方法其中包括了自动填充的支持。在这个类中如果你调用了 updateById 方法它内部会调用 MyBatis Plus 的自动填充逻辑以便在更新数据时触发自动填充。 当然前提是你需要做以下几件事情 1.确保你的实体类中的字段有正确地标注了自动填充的注解比如使用了 TableField 注解并设置了相应的 fill 属性。 2.确保你已经正确配置了 MetaObjectHandler并且这个配置被正确地注册到了 Spring 容器中。这样 MyBatis Plus 才能正确地使用自动填充功能。 因此当你在自定义的 Service 类中继承了 ServiceImpl就相当于在你的 Service 类中内置了 MyBatis Plus 提供的默认实现包括自动填充的支持。这样在调用 updateById 等方法时会自动触发 MyBatis Plus 的自动填充逻辑。 侵权联系删除
http://www.hkea.cn/news/14261797/

相关文章:

  • 网站建设需要多少人互联网公司的网络运营
  • 织梦装修网站模板南昌微网站建设
  • 手机网站要域名吗住建局查询房产信息
  • 宜城网站开发投资做网站
  • 哪里购买网站空间好个人网站做企业网站
  • 建设部网站 绿色建筑评价表公司网页网站建
  • 济南专业的设计网站一流的江苏网站建设
  • 捕鱼游戏网站开发商上海建设银行招聘网站
  • 佛山网站设计哪里好微信小程序开发平台游戏
  • 上海企业自助建站系统php编程用什么软件
  • 四川省建设厅官方网站联系电话怎样创建网站流程
  • 建设部设计院网站温州市城乡建设厅网站
  • 邢台做网站优化c2c的电子商务网站有哪些
  • 延安免费做网站湛江手机网站制作
  • 什么专业学网站建设wordpress xiu主题
  • 重庆h5网站建设模板上海发布公众号下载安装
  • 做 理财网站有哪些问题微信小程序是什么模式
  • 农产品网站建设投标书wordpress子域名储存图片
  • 四川网站设计成功柚米科技建设一个asp网站
  • 河北建设厅网站三类人专门做外贸的网站
  • 大型建筑网站设计公司详情媒体库wordpress
  • php网站开发环境说明wordpress主题包怎么做
  • 常州市教育基本建设与装备管理中心网站响应式网页模版
  • 企业网站空间多大合适医院网站建设最新报价
  • 服装商城网站建设价格信用中国官网企业查询
  • 网站制作怎样做背景wordpress google字体 下载到本地
  • 可以做审计初级题的网站佛山住房和城乡建设部网站官网
  • 网站正在建设中 源码下载wordpress 固定 拼音网址
  • 深圳华维网站建设淘宝代运营公司排名
  • 做it的网站有哪些微信引流被加软件