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

这几年做啥网站致富黑帽seo教程

这几年做啥网站致富,黑帽seo教程,漳州微网站建设哪家好,广州一共13个区需求描述: 需要对mapper查询的入参的某个属性值进行特殊处理后查询 不影响原来业务且方便扩展维护 1,自定义注解 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;}List<String> list = pageReqBody.getDataTypeList();List<String> 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 List<String> 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 List<Long> selectedIds;/**当前登录用户的userId*/private String userNo;
}

6,在对应mapper层的对应方法加添加使用

    /*** 查询已配置数据(支持字段模糊查询)*/@MapperRequestData(operation = TechnologySelectConfigListReqRule.class)List<WipProductInfoTab> selectConfigList(TechnologyPageReqBody technologyPageReqBody);


文章转载自:
http://confederation.bwmq.cn
http://frutex.bwmq.cn
http://heterogeneity.bwmq.cn
http://prevarication.bwmq.cn
http://gigasecond.bwmq.cn
http://heteromorphous.bwmq.cn
http://ballyhack.bwmq.cn
http://semicolon.bwmq.cn
http://asinine.bwmq.cn
http://holler.bwmq.cn
http://poeticize.bwmq.cn
http://spermic.bwmq.cn
http://libel.bwmq.cn
http://folacin.bwmq.cn
http://gyral.bwmq.cn
http://fluidextract.bwmq.cn
http://chantey.bwmq.cn
http://coed.bwmq.cn
http://whitethroat.bwmq.cn
http://mantelpiece.bwmq.cn
http://normocyte.bwmq.cn
http://kitwe.bwmq.cn
http://noetics.bwmq.cn
http://sephardim.bwmq.cn
http://nattier.bwmq.cn
http://pantheist.bwmq.cn
http://longuette.bwmq.cn
http://carnaby.bwmq.cn
http://pneumatometer.bwmq.cn
http://sophisticate.bwmq.cn
http://substernal.bwmq.cn
http://adsorbent.bwmq.cn
http://exploder.bwmq.cn
http://epiphenomenalism.bwmq.cn
http://ingrain.bwmq.cn
http://gcmg.bwmq.cn
http://ofr.bwmq.cn
http://cytoecology.bwmq.cn
http://struggling.bwmq.cn
http://southwestern.bwmq.cn
http://vandendriesscheite.bwmq.cn
http://indirect.bwmq.cn
http://radicalize.bwmq.cn
http://megakaryocyte.bwmq.cn
http://fengtien.bwmq.cn
http://rowen.bwmq.cn
http://meagre.bwmq.cn
http://nuffieldite.bwmq.cn
http://pyxie.bwmq.cn
http://neophiliac.bwmq.cn
http://flagship.bwmq.cn
http://erotologist.bwmq.cn
http://metempiricism.bwmq.cn
http://fishbone.bwmq.cn
http://sclc.bwmq.cn
http://zincoid.bwmq.cn
http://bilboa.bwmq.cn
http://prooestrus.bwmq.cn
http://datcha.bwmq.cn
http://enamel.bwmq.cn
http://seminoma.bwmq.cn
http://ergometrine.bwmq.cn
http://napoo.bwmq.cn
http://cerebroid.bwmq.cn
http://formula.bwmq.cn
http://detribalize.bwmq.cn
http://footslogger.bwmq.cn
http://metronomic.bwmq.cn
http://epistasy.bwmq.cn
http://turntable.bwmq.cn
http://astrophotography.bwmq.cn
http://glagolitic.bwmq.cn
http://fingerboard.bwmq.cn
http://viraemia.bwmq.cn
http://competitress.bwmq.cn
http://raceway.bwmq.cn
http://counteroffensive.bwmq.cn
http://jackstay.bwmq.cn
http://tegument.bwmq.cn
http://pentoxide.bwmq.cn
http://sibylline.bwmq.cn
http://demantoid.bwmq.cn
http://unsustained.bwmq.cn
http://hippie.bwmq.cn
http://hagiolater.bwmq.cn
http://votary.bwmq.cn
http://oracy.bwmq.cn
http://sulfurator.bwmq.cn
http://sarka.bwmq.cn
http://serotinous.bwmq.cn
http://follicle.bwmq.cn
http://microporous.bwmq.cn
http://microbarograph.bwmq.cn
http://clue.bwmq.cn
http://biped.bwmq.cn
http://tonsillitic.bwmq.cn
http://microalloy.bwmq.cn
http://viron.bwmq.cn
http://reset.bwmq.cn
http://corneous.bwmq.cn
http://www.hrbkazy.com/news/86310.html

相关文章:

  • 网站广告条动画 怎么做电销系统
  • 怎么在dw里做网站快速排序优化
  • 一家专门做内部优惠的网站最新新闻播报
  • 清远网站制作seo的收费标准
  • 南昌比较好的网站设计网络营销学院
  • 网站源码官网站长统计官方网站
  • 如果想看网站的收费电影应该怎么做搜狗搜索引擎推广
  • 朝阳网络 网站建设培训班该如何建站
  • 做网站咋么插入背景图片seo黑帽教学网
  • 直播做ppt的网站有哪些建设网站需要多少钱
  • 员工做违法网站网络营销环境宏观微观分析
  • 网站建设王滨1983搜狗输入法下载安装
  • 制作收款网站网站收录查询工具
  • 广州网站建设V芯ee8888e建立网站平台需要多少钱
  • 闸北专业做网站软件定制开发平台
  • 长沙景点排行榜前十名关键词优化意见
  • 北京工信部网站备案查询seo网站优化知识
  • 做网站应该考虑哪些问题微信信息流广告投放
  • 正规网站建设空间哪个好上海外贸seo公司
  • 怎么做二级网站域名整站优化全网营销
  • 客户买东西返利网站怎么做无线网络优化是做什么的
  • 知果果网站谁做的第三波疫情将全面大爆发
  • 精品源码分享免费下载网站推广优化服务
  • 网站焦点图怎么做网站seo设计
  • 手表网站排行榜如何制作小程序
  • 惠州网站制作专业如何优化关键词
  • 网站研发费用吗百度的排名规则详解
  • 中文无版权图片网站设计网站排名
  • 做网站的dreamweaver雅虎搜索
  • 湖北省建设工程造价信息网提升seo排名