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

用帝国做网站怎么样广州外贸建站

用帝国做网站怎么样,广州外贸建站,个人网站建设模板,中天建设集团山西分公司网站需求描述#xff1a; 需要对mapper查询的入参的某个属性值进行特殊处理后查询 不影响原来业务且方便扩展维护 1#xff0c;自定义注解 import java.lang.annotation.*;/*** 针对 mapper层入参 按照一定规则进行特殊处理重新赋值*/ Target(ElementType.METHOD) Retention(Ret…需求描述 需要对mapper查询的入参的某个属性值进行特殊处理后查询 不影响原来业务且方便扩展维护 1自定义注解 import java.lang.annotation.*;/*** 针对 mapper层入参 按照一定规则进行特殊处理重新赋值*/ Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) Documented Inherited public interface MapperRequestData {/*** 指定执行规则的方法默认方法为transferRequestData* return*/String method() default transferRequestData;Class? extends MapperRequestDataInterface operation(); } 2定义动态处理指定业务的接口 /*** 不同的业务场景 其 针对入参 解析处理规则不同须根据自身情况实现该接口* param T*/ public interface MapperRequestDataInterface {void transferRequestData(Object request);} 3定义切面 MapperRequestDataAspect import com.taia.yms.aop.reponse.inter.MapperRequestDataInterface; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.Signature; 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.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.lang.reflect.Method;/*** 针对 mapper层入参进行特殊处理*/ Component Aspect public class MapperRequestDataAspect {private static final Logger log LoggerFactory.getLogger(MapperRequestDataAspect.class);//定义pointcut签名Pointcut(execution(* com.taia.yms.mapper.*.*(..)) annotation(com.taia.yms.aop.reponse.MapperRequestData))private void pointCut() {//方法为空仅做签名}//对切点方法进行前置增强就是在调用切点方法前进行做一些必要的操作这就成为增强Before(pointCut())public void getRes(JoinPoint joinPoint){// 获取方法签名Signature signature joinPoint.getSignature();MethodSignature methodSignature (MethodSignature) signature;Method method methodSignature.getMethod();MapperRequestData annotation method.getAnnotation(MapperRequestData.class);Object[] objects joinPoint.getArgs();// 查找并获取注解try{// 读取注解的属性Class? extends MapperRequestDataInterface operation annotation.operation();MapperRequestDataInterface operationInstance operation.getDeclaredConstructor().newInstance();String methoded annotation.method();Method operationMethod operation.getDeclaredMethod(methoded, Object.class);operationMethod.invoke(operationInstance, objects);}catch (Exception e){log.error(类[{}]的方法[{}]执行失败报错:{},annotation.operation().getName(),annotation.method(),e.getMessage());}}} 4定义指定业务指定入参处理逻辑 import com.taia.yms.aop.reponse.inter.MapperRequestDataInterface; import com.taia.yms.entity.reqbody.TechnologyPageReqBody; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.stream.Collectors;public class TechnologySelectConfigListReqRule implements MapperRequestDataInterface {private static final String PREFIX_SRE CONTAINS_;Overridepublic void transferRequestData(Object request) {TechnologyPageReqBody pageReqBody (TechnologyPageReqBody) request;if(pageReqBody null || CollectionUtils.isEmpty(pageReqBody.getDataTypeList())){return;}ListString list pageReqBody.getDataTypeList();ListString collect list.stream().map(v - PREFIX_SRE v).collect(Collectors.toList());pageReqBody.setDataTypeList(collect);} } 5相关对象类 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import com.taia.yms.entity.ExportPageReqBody; import java.util.List;Data AllArgsConstructor NoArgsConstructor Accessors(chain true) public class TechnologyPageReqBody extends ExportPageReqBody{private Long id;private String fab;private String productId;private String technology;private ListString dataTypeList;private String createdByName;private String lastUpdatedByName;// ALL、为空、不为空 all isNull isNotNullprivate String isNullable; } import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.util.List;/*** ClassName ExportPageReqBody* 导出 和 分页数据**/ Data AllArgsConstructor NoArgsConstructor Accessors(chain true) public class ExportPageReqBody {/**页码*/ApiModelProperty(example 1)private Integer pageNum 1;/**页面大小*/ApiModelProperty(example 10)private Integer pageSize 10;/**1-导出excel 0-导出CSV*/private String isExcel;/**1-只导出表头0或空-导出表头和数据*/private String isEmpty;/**1-配置数据 0或空-待添加配置数据*/private String isConfig;/**选择导出有值时只导出选中的id*/private ListLong selectedIds;/**当前登录用户的userId*/private String userNo; } 6在对应mapper层的对应方法加添加使用 /*** 查询已配置数据(支持字段模糊查询)*/MapperRequestData(operation TechnologySelectConfigListReqRule.class)ListWipProductInfoTab selectConfigList(TechnologyPageReqBody technologyPageReqBody);
http://www.hkea.cn/news/14534931/

相关文章:

  • 网站建设都需要什么工具网站怎么 备案
  • 专业制作网站哪家专业专业制作网站建设
  • 安源网站建设公司建网站多少钱一个
  • 自动写作网站网站开发前端应用程序
  • 唐山网站制作专业太原在建
  • 第一推是谁做的网站中国建设银行注册网站用户名怎么填
  • wordpress建站手机端网站报价功能清单
  • seo网站优化多少钱台州关键词优化报价
  • 昆明网站建设_云南网站建设增城微信网站建设
  • 溧阳 做网站wordpress 合并js
  • 哪个网站做网上旅社预定商标注册号查询入口官网
  • 提供企业网站建设价格青岛网络推广的有哪些公司
  • 在线教育网站建设如何做购物网站推广
  • html5网站开发框架深圳市官方网站
  • 网站开发前台做网站用什么云服务器
  • 淄川区住房和城乡建设局网站可以做设计兼职的网站有哪些
  • 专业做网站网络域名备案的网站建设方案书模板
  • 吉林网站建站系统平台wordpress知识
  • 锦州北京网站建设中装建设002822股吧
  • 江苏商城网站制作公司宁波建设业协会网站
  • .net网站开发模板铜陵做网站的
  • 网站的建设过程手机域名注册被骗
  • 如何查看网站名称网站界面设计实训总结
  • 校园网站建设的感受论文佛山网站建设zingup
  • 内蒙古建设银行网站培训课程
  • 购买型网站建设视频上传网站如何做
  • 个人怎么做网站推广莆田网站建设优化
  • 南昌网站定制公司哪家好哪个国家的绘本网站做的好
  • discuz网站论坛间帖子转移部署一个网站大概多少钱
  • 西安网站建设有那些公司在线解析网站