sqlHelper是根据spring-data【世界杯买球平台】

本文摘要:2021买球平台,世界杯买球平台,sqlHelper是根据spring-data-jdbc的orm,适用sqlite、mysql、postgresql三种数据库,主要特点是像mongodb一样应用sql数据库。应用CriteriaAndWrapper和CriteriaOrWrapper对象做为sql的拼凑对象//依据键入标准开展查询publicListsearchStringword,Integertype{CriteriaAndWrappercriteriaAndWrapper=newCriteriaAndWrapper;

操作

sqlHelper是根据spring-data-jdbc的orm,适用sqlite、mysql、postgresql三种数据库,主要特点是像mongodb一样应用sql数据库。sqlHelper为mongoHelper的弟兄项目,致力于为关联型数据库出示类似mongodb的应用感受。即开发设计全过程中彻底无需关注数据库构造,在随意一个空缺或者有构造的数据库中,在项目运行的一瞬间都能够马上搭建出与pojo类相匹配的数据库构造,能够马上逐渐开展业务流程开发设计。

除开查询sql语句的实行实际效果,早已彻底无须开启数据库手机客户端对数据库构造开展管理方法了。升级表明改动一部分bug提升了对复合型索引的适用,加上2个注释SingleIndex单索引CompositeIndex复合型索引,可自动生成索引软件体系结构本项目只适用springBoot项目,项目也依靠springBoot有关库,springMVC项目没法应用。

此外项目依靠了hutool出示的众多Util专用工具,让编码更简约。演试运用项目:https://gitee.com/cym1102/nginxWebUI此项目是nginx的WebUI项目,数据库应用sqlite,因而网络服务器上不用安裝一切数据库。

使用说明书1.基本上操作本orm会在器皿中引入一个对象SqlHelper,这一对象有着众多单表查询作用,以下按id删掉:deleteByIdString,Class按标准删掉:deleteByQueryCriteriaAndWrapper,Class查询全部:findAllClass查询总数:findCountClass依据id查询:findByIdString,Class依据标准查询:findListByQueryCriteriaAndWrapper,Class依据标准查询并分页查询:findPageCriteriaAndWrapper,Page,Class插进:insertObject插进或升级:insertOrUpdateObject依据id升级:updateByIdObject依据id升级所有字段名:updateAllColumnByIdObject累积某一个字段名的总数,分子操作:addCountByIdStringid,Stringproperty,Longcount,Classclazz这一SqlHelper可以进行全部查询每日任务,插进和升级操作可以全自动分辨pojo的种类操作相匹配表,查询操作依据传到的Class开展相匹配表操作,本orm全部数据库操作都根据SqlHelper的作用,无需像mybatis一样,每一个表都需要创建一套Mapper,xml,Service,model,大大减少数据信息层的编码量。能够将SqlHelper立即引入到controller层,简易的操作立即启用SqlHelper开展操作,不用启用service层。而繁杂的操作及事务管理必须service层,将SqlHelper引入service,并应用service层的Transactional注释就能应用springBoot管理方法的事务管理作用。

查询

项目

2.繁杂查询作用本orm的查询作用都是在SqlHelper的findByQuery,findPage方式中.应用CriteriaAndWrapper和CriteriaOrWrapper对象做为sql的拼凑对象//依据键入标准开展查询publicListsearchStringword,Integertype{CriteriaAndWrappercriteriaAndWrapper=newCriteriaAndWrapper;ifStrUtil.isNotEmptyword{criteriaAndWrapper.andnewCriteriaOrWrapper.like"name",word.like"phone",word;}iftype!=null{criteriaAndWrapper.eq"type",type;}ListuserList=SqlHelper.findListByQuerycriteriaAndWrapper,User.class;returnuserList;}之上编码拼装了类似select*fromuserwherenamelike'%xxx%'orphonelike'%xxx%'andtype=xxx的查询句子。本项目不兼容应用leftjoinrigthjoin等联接查询,关联型数据库的连表查询能处理许多难题,但在大企业中已不会再强烈推荐应用,由于难以做数据库提升,信息量巨大时查询時间比较慢并且难以开展提升。必须连表查询时,先查出来另一方id集,再应用in开展包括查询,能够很便捷的走索引,并且储备库的情况下非常容易改动。那样应用得话,具体是将关联型数据库用变成类似文本文档型数据库,表中间不会再造成关系。

根据之上核心理念,本orm还出示了一些小作用用以健全这类数次联接查询,在mongoHelper中有下列方式只查出来表的id做为List回到:findIdsByQueryCriteriaAndWrappercriteriaAndWrapper,Classclazz只查出来表的某一字段名做为List回到:findPropertiesByQueryCriteriaAndWrappercriteriaAndWrapper,ClassdocumentClass,Stringproperty,ClasspropertyClass使用方法实例://查出来订单信息下的全部产品OrderProduct.class为订单信息产品一览表publicListgetProductListStringorderId{ListproductIds=mongoHelper.findPropertiesByQuerynewCriteriaAndWrapper.eq"orderId",orderId,OrderProduct.class,"productId",String.class;returnmongoHelper.findListByQuerynewCriteriaAndWrapper.in"id",productIds,Product.class;}//依据产品名字查出来全部订单信息publicPagesearchPagepage,Stringkeywords{CriteriaOrWrappercriteriaOrWrapper=newCriteriaOrWrapper;ifStrUtil.isNotEmptykeywords{ListproductIds=mongoHelper.findIdsByQuerynewCriteriaAndWrapper.like"name",keywords,Product.class;ListorderIds=mongoHelper.findPropertiesByQuerynewCriteriaAndWrapper.in"productId",productIds,OrderProduct.class,"orderId",String.class;criteriaOrWrapper.in"id",orderIds;}page=mongoHelper.findPagecriteriaOrWrapper,page,Order.class;returnpage;}3.分页查询查询,本orm出示一个Page类,包括count总纪录数,limit每张纪录数,curr起始页从1逐渐,records結果目录四个特性,只需将包括curr和limit数据信息的Page对象传到findPage,就可以查询出records,count的数据信息并全自动回到到Page对象中。这儿三个特性参照了layui的分页查询主要参数,可立即无缝拼接layui的分页控件。

项目

publicPagesearchPagepage,Stringword,Integertype{CriteriaAndWrappercriteriaAndWrapper=newCriteriaAndWrapper;ifStrUtil.isNotEmptyword{criteriaAndWrapper.andnewCriteriaOrWrapper.like"name",word.like"phone",word;}iftype!=null{criteriaAndWrapper.eq"type",type;}Sortsort=Sort.byDirection.DESC,"creatTime";page=SqlHelper.findPagecriteriaAndWrapper,sort,page,User.class;returnpage;}。


本文关键词:出示,索引,查询,对象,数据信息,2021买球平台

本文来源:2021买球平台-www.bracketpy.com

上一篇:南安英都至翔云公路改造工程开工|2021买球平台
下一篇:Linux,Windows,MacOsX,iOS,Andro
脚注信息

地址: 香港特别行政区香港市香港区奥用大楼718号    电话: 0514-497833784    传真: 099-99698063
2021买球平台,世界杯买球平台    E-mail: admin@bracketpy.com    备案号:港ICP备12688776号-9