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

吴江市中云建设监理有限公司网站股票场外期权网站开发

吴江市中云建设监理有限公司网站,股票场外期权网站开发,wordpress的注册文件在哪,wordpress阿里云部署需求背景需要一个像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.hkea.cn/news/14344644/

相关文章:

  • 做英语题目的网站室内装修培训
  • 电商运营发展前景怎么样南宁网站推广优化
  • 临沂网站建设公司排名品牌设计机构公司
  • 现在都是用什么做网站网站页面设计尺寸
  • 网站开发公司营业范围义乌网站建设技巧培训
  • 网站显示搜索框网页制作模板文件的扩展名
  • 内网网站建设流程自己做电商网站.
  • 网站建设 鄂icp备wordpress搜索页如何建
  • 安徽建设工程安全监督总站网站诚信网站认证怎么做
  • 人像摄影网站有哪些关键词搜索引擎优化推广
  • 网站503错误怎么解决网站的建站方案
  • 谷歌建站哪家好马关县网站建设
  • 深圳网站建设信科便宜网站综合建设笔记
  • 虚拟主机 删除网站缓存做家教在哪个网站
  • 广 做网站蓝光电影下载商城网站模板 免费
  • 周口市住房和城市建设局网站河北建设集团
  • 苏州制作网站哪家好wordpress关键
  • 长治企业网站建设网站中的游戏是怎么做的
  • 几何背景生成网站南昌seo排名方案
  • 广东建设网工程信息网站网页设计制作手机网站
  • 做网站什么语言好wordpress的标签设置
  • 网站开发模式分为西宁网站制作哪家公司好
  • 一个成功的网站必须具备哪几个要素租用云服务器多少钱
  • 济南网站建设推广报价网站建设网络公司整站源码
  • 手机原理网站网站建设介绍ppt模板下载
  • 江苏扬州建设局网站网站管理与开发怎么做网站
  • 免费做兼职的网站有吗寻花问柳-专注做一家男人的网站猪
  • 制作自己的个人网站网站开发工程师分析
  • 营销型网站的例子安徽省建设信息网
  • 新建站点甘肃网站建设制作商