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

h5页面 个人网站网络游戏排行榜2020

h5页面 个人网站,网络游戏排行榜2020,靖江有哪些做网站的,石家庄域名注册在数据库表的设计中主键id#xff0c;创建时间create_time#xff0c;更新时间update_time都是必须的字段#xff0c;根据实际的需求可能还需要用到创建用户名create_username#xff0c;和更新用户名update_username这两个字段。 其中的create_time、update_time、create_… 在数据库表的设计中主键id创建时间create_time更新时间update_time都是必须的字段根据实际的需求可能还需要用到创建用户名create_username和更新用户名update_username这两个字段。 其中的create_time、update_time、create_username、update_username都是属于是表的公共字段如果每次在进行插入或者更新操作时都要手动赋值是很繁琐的。 通过AOP实现公共字段自动填充只需给mapper层中的对应方法加上注解即可。 依赖 !--AOP起步依赖-- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId /dependency OperateType枚举 枚举数据库操作类型 /*** Description: 数据库操作类型* Author: 翰戈.summer* Date: 2023/11/17* Param:* Return:*/ public enum OperateType {//插入操作INSERT,//更新操作UPDATE} AutoFill注解 AutoFill注解用于标识需要进行公共字段自动填充的方法。 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** Description: 注解用于标识需要进行公共字段自动填充的方法* Author: 翰戈.summer* Date: 2023/11/18* Param:* Return:*/ Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface AutoFill {/*** 数据库操作类型INSERT插入操作UPDATE更新操作*/OperateType value();} AutoFillAspect切面类 切入点一定要写对这里用到的是前置通知拦截mapper层接口的方法获取方法参数进行公共字段填充。 import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Component;import java.lang.reflect.Method; import java.time.LocalDateTime;/*** Description: 切面类实现公共字段自动填充* Author: 翰戈.summer* Date: 2023/11/19* Param:* Return:*/ Aspect Component public class AutoFillAspect {/*** Description: 切入点* Author: 翰戈.summer* Date: 2023/11/19* Param:* Return: void*/Pointcut(execution(* com.demo.mapper.*.*(..)) annotation(com.demo.annotation.AutoFill))public void autoFillPointcut() {}/*** Description: 前置通知进行公共字段自动填充* Author: 翰戈.summer* Date: 2023/11/19* Param: JoinPoint* Return: void*/Before(autoFillPointcut())public void autoFill(JoinPoint joinPoint) {//获取方法签名对象MethodSignature methodSignature (MethodSignature) joinPoint.getSignature();//获取注解对象AutoFill autoFill methodSignature.getMethod().getAnnotation(AutoFill.class);//获取数据库操作类型OperateType operateType autoFill.value();//获取拦截方法实体类对象参数Object[] args joinPoint.getArgs();if (args null || args.length 0) {return;}Object entity args[0];//获取填充数据String username BaseContext.getContext();// 当前用户名LocalDateTime now LocalDateTime.now();// 当前时间//为插入操作填充数据if (operateType OperateType.INSERT) {try {Method setCreateUsername entity.getClass().getDeclaredMethod(setCreateUsername, String.class);Method setUpdateUsername entity.getClass().getDeclaredMethod(setUpdateUsername, String.class);Method setCreateTime entity.getClass().getDeclaredMethod(setCreateTime, LocalDateTime.class);Method setUpdateTime entity.getClass().getDeclaredMethod(setUpdateTime, LocalDateTime.class);setCreateUsername.invoke(entity, username);setUpdateUsername.invoke(entity, username);setCreateTime.invoke(entity, now);setUpdateTime.invoke(entity, now);} catch (Exception ex) {throw new RuntimeException();}}//为更新操作填充数据if (operateType OperateType.UPDATE) {try {Method setUpdateUsername entity.getClass().getDeclaredMethod(setUpdateUsername, String.class);Method setUpdateTime entity.getClass().getDeclaredMethod(setUpdateTime, LocalDateTime.class);setUpdateUsername.invoke(entity, username);setUpdateTime.invoke(entity, now);} catch (Exception ex) {throw new RuntimeException();}}} } BaseContext上下文 线程局部变量用于存放用户名便于在AutoFillAspect切面类中获取。 /*** Description: 线程局部变量* Author: 翰戈.summer* Date: 2023/11/17* Param:* Return:*/ public class BaseContext {public static ThreadLocalString threadLocal new ThreadLocal();public static void setContext(String context) {threadLocal.set(context);}public static String getContext() {return threadLocal.get();}public static void removeContext() {threadLocal.remove();} }
http://www.zqtcl.cn/news/350952/

相关文章:

  • 潜山网站建设公司哪里有wordpress相册投票插件
  • 网站建设制作过程网站添加支付功能
  • 网站制作字体即墨公司做网站
  • vue 做pc网站可以吗哪个网站买域名便宜
  • 做销售网站那家好金华住房与城乡建设部网站
  • apple私人免费网站怎么下载无锡网站建设技术
  • 移动应用网站开发阶段作业信息型网站有哪些
  • 监控直播网站开发网站建设与管理总结
  • 青岛城阳网站设计免费网站成品
  • 做服装外贸的网站ghost wordpress
  • 建设银行的网站为什么这么卡网页设计用啥软件
  • 电子商务 网站开发南阳网网站建设
  • 中小型企业网络拓扑图及配置株洲seo网站推广
  • 中国镇江网站如何搭建自己的网址
  • wordpress 自动广告seo搜索引擎优化原理
  • 区块链网站用vue.js做怎么样长春站建筑
  • 集团公司门户网站建设adsl做网站
  • 山东建设监理协会官方网站茂名建站公司模板
  • 烟台做网站案例创业网站推广怎么做
  • php项目网站建设方案书专做药材的网站有哪些
  • 网站表单模板营销型网站建设的5大技巧
  • html手机版网站网站备案后怎么做实名认证
  • 第五冶金建设公司职工大学网站大连工业
  • 网站的基础服务html网站地图生成器
  • 网站开发学徒工作如何设计师培训哪家好
  • 做网站多少钱西宁君博正规株洲在线论坛招聘求职
  • 抚州营销型网站建设殡葬类网站建设
  • 公司网站制作汇报会合肥品牌设计
  • 网站推广策划书怎么说网站建设公司中企动力强
  • php网站源码架构阿里巴巴运营技巧