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

乌兰浩特建设网站网站seo设计方案案例

乌兰浩特建设网站,网站seo设计方案案例,南头英文网站建设,建站群赚钱有前途吗需求背景需要一个像mybatis plus 一样的基于lambda, 且面向对象的查询mongo数据的插件。在网上找了很久#xff0c;没有发现有类似功能的插件。于是自己手写了一个#xff0c;借助mongoTemplate屏蔽了底层查询语句的实现细节。在此基础上#xff0c;实现了查询的统一封装。技…需求背景需要一个像mybatis plus 一样的基于lambda, 且面向对象的查询mongo数据的插件。在网上找了很久没有发现有类似功能的插件。于是自己手写了一个借助mongoTemplate屏蔽了底层查询语句的实现细节。在此基础上实现了查询的统一封装。技术难点基于SerializedLambda对象获取查询的属性例如下面是获取task的nameMongoLambdaQuery.lambdaQuery(Task.class).is(Task::getName, taskCriteria.getName())怎么传参这种Task::getName 函数引用通过函数式接口SFunction来表示R实际类型Children ne(R column, Object val);FunctionalInterface public interface SFunctionT, R extends FunctionT, R, Serializable { }然后通过maybeDo来判断搜索参数不为空才进行查询。这里DoSomething又是一个函数式接口something.doIt()时才会执行具体columnToString操作得到我们的属性。 protected Children addCondition(boolean condition, R column, SqlKeyword keyWord, Object val, Object... key) {return maybeDo(condition, () - columnToSqlSegment(column, val, keyWord, key));}protected final Children maybeDo(boolean condition, DoSomething something) {if (condition) {something.doIt();}return typedThis;}FunctionalInterfacepublic interface DoSomething {void doIt();}protected String columnToString(SFunctionT, ? column) {return LambdaUtils.getField(column);}c. 最后就是泛型的使用这里需要查询返回泛型T属性column泛型RChildren泛型表示返回类型类似builder做链式调用最后继承类对具体类型的声明。public interface QueryTpublic interface FuncChildren, R extends Serializablepublic abstract class AbstractQueryT, R, Children extends AbstractQueryT, R, Childrenimplements FuncChildren, R, QueryTpublic abstract class MongoAbstractLambdaQueryT, Children extends MongoAbstractLambdaQueryT, Childrenextends AbstractQueryT, SFunctionT, ?, Childrenpublic class MongoLambdaQueryT extends MongoAbstractLambdaQueryT, MongoLambdaQueryT项目地址https://github.com/DarMi7/mongo-lambda-query使用demo引入maven依赖文件dependency groupIdio.github.darmi7/groupId artifactIdmongo-lambda-query/artifactId version1.1.0/version/dependency开启插件注解加上需要扫描mongo实体的包路径EnableMongoLambdaQueryEnableMongoRepositories(basePackages com.darmi.demo.repository.mongo)public class Application编写查询代码Repositorypublic interface TaskRepository extends MongoRepositoryTask, String {default PageTask search(TaskCriteria taskCriteria) {return MongoLambdaQuery.lambdaQuery(Task.class).is(Task::getName, taskCriteria.getName()).is(Task::getType, taskCriteria.getFuzzyName()).reg(Task::getName, taskCriteria.getName()).gt(Task::getPoints, taskCriteria.getPoints()).gt(Task::getCreated, taskCriteria.getBegin()).lt(Task::getCreated, taskCriteria.getEnd()).page(taskCriteria.getPagination());}}
http://www.dnsts.com.cn/news/31387.html

相关文章:

  • 想要学做网站需要什么金坛网站制作
  • 公司网站优化怎么做辽宁网站制作公司
  • 网站开发 北京外包公司网站的建设与预算
  • 庐江魅力网做网站号码河北商城网站建设价格低
  • 建网站对企业的作用深圳电子商务网站开发
  • 江苏股票配资网站建设Linux主机设置网站首页
  • 优秀手机网站版式用网站模板做新网站
  • 游戏网站建设需要多少钱怎么做国际网站首页
  • 重新建设网站的申请报告网站挂马检测流程图
  • 怎么才能让网站图文展示一站式网站手机端怎么做
  • 网站链接优化怎么做wordpress播放器源码
  • 成都建站哪家好seo网站优化流程
  • 网站首页不收录angularjs 做电商网站
  • 网站统计热力图织梦医疗网站源码
  • 域名访问网站下oa系统使用教程
  • access 数据库做网站狗头网网站
  • 连云港网站关键词汽车美容网站开发
  • 建网站比较好单位做网站需要准备什么
  • 上海网站设计与制作唐山建设网站
  • 阿里巴巴官网首页网站品牌宣传策略有哪些
  • 中企动力科技股份有限公司网站wordpress文章页的宽度
  • 河北营销型网站建设被官方认可赚钱软件
  • 广州 餐饮 网站建设php网站建设管理教材
  • 福田企业网站优化哪个好wordpress分类目录 模版
  • 网站网络优化服务器太原seo快速排名
  • 广告传媒公司经营范围有哪些如何进行网站性能优化?
  • 为什么后台编辑内容和网站上面显示的内容不一致腾讯云服务器用什么软件做网站
  • seo网站推广排名网站开发语言一般是用什么
  • 做网站用百度百科的资料会侵权吗网站制作那家便宜
  • 用数字做域名网站网钛cms做的网站