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

优惠券网站制作教程互联网保险公司十大排名

优惠券网站制作教程,互联网保险公司十大排名,宜兴建设公司网站,福州关键词排名文章目录 前言一、GroovyShell二、maven三、解决方案四、关键代码4.1 数据库配置表(pg)4.2 入参4.3 分页查询 总结 前言 项目背景#xff1a;查询多个表的数据列表和详情#xff0c;但不想创建过多的po、dao、resp等项目文件。 一、GroovyShell Apache Groovy是一种强大的… 文章目录 前言一、GroovyShell二、maven三、解决方案四、关键代码4.1 数据库配置表(pg)4.2 入参4.3 分页查询 总结 前言 项目背景查询多个表的数据列表和详情但不想创建过多的po、dao、resp等项目文件。 一、GroovyShell Apache Groovy是一种强大的、可选的类型和动态语言具有静态类型和静态编译功能用于Java平台旨在通过简洁、熟悉和易于学习的语法提高开发人员的生产力。它可以与任何Java程序顺利集成并立即为您的应用程序提供强大的功能包括脚本功能、领域特定语言创作、运行时和编译时元编程以及函数式编程。 二、maven dependencygroupIdorg.codehaus.groovy/groupIdartifactIdgroovy-all/artifactIdversion2.4.7/version/dependency三、解决方案 数据存储sql条件查询根据资源名称和条件入参查询sqlGroovyShell获取sql查询数据 四、关键代码 4.1 数据库配置表(pg) INSERT INTO data_resource.resource_query_config (id, resource_code, resource_desc, resource_sql) VALUES (8a8ae4db8a1bf1cf018a1c1c0656004e, hospital_info, 医院-详情查询, def infoSql(String id) {StringBuilder sb new StringBuilder();sb.append( SELECT A.id,A.pac,A.name,A.address,A.levelcode,A.ownshipcode,A.area,A.buildingarea,B.respoperson,B.fillinpersontel,B.powersupplycode,B.watersupplycode,B.heatsupplycode,B.commsupportcode,B.plantypecode FROM hel_helthorg_p A ) sb.append(LEFT JOIN helthorg_p_bu B ON A.id B.gid ).append( WHERE A.ID ).append(id).append();return sb.toString(); }); INSERT INTO data_resource.resource_query_config (id, resource_code, resource_desc, resource_sql) VALUES (ff80808189914fbe018996854a420001, hospital_page, 医院-分页查询, import org.apache.commons.lang3.StringUtilsdef pageListSql(MapString, Object map) {StringBuilder sb new StringBuilder();sb.append( SELECT A.id, A.name,d.featurename,A.address,A.pac,B.respoperson,B.fillinpersontel,A.longitude,A.latitude ).append( FROM helthorg_p A LEFT JOIN helthorg_p_bu B ON A.id B.gid ).append( LEFT JOIN code_feature d ON A.featurecode d.featurecode WHERE a.isdeleted 0 );if (StringUtils.isNotBlank(map.get(distCode))) {sb.append( AND A.pac like :distCode )}if (StringUtils.isNotBlank(map.get(resName))) {sb.append( AND A.NAME like :resName )}return sb.toString(); }); INSERT INTO data_resource.resource_query_config (id, resource_code, resource_desc, resource_sql) VALUES (ff80808189914fbe018996854a420013, hotel_info, 宾馆饭店-详情查询, def infoSql(String id) {StringBuilder sb new StringBuilder();sb.append( SELECT A.id, A.name,A.address,A.pac,A.ownshipcode as GAT_OWNSHIPCODE,A.starcode as HOTL_STARCODE,).append( A.area,A.buildingarea,B.roomnum,B.bednum,B.meetmaxhold,B.respoperson,B.fillinpersontel,B.powersupplycode,B.watersupplycode,B.heatsupplycode,B.commsupportcode,B.plantypecode,A.longitude,A.latitude ).append( FROM hotel_p A LEFT JOIN hotel_p_bu B ON A.id B.gid ).append( WHERE A.ID ).append(id).append();return sb.toString(); }); INSERT INTO data_resource.resource_query_config (id, resource_code, resource_desc, resource_sql) VALUES (ff80808189914fbe018996854a420012, hotel_page, 宾馆饭店-分页查询, import org.apache.commons.lang3.StringUtilsdef pageListSql(MapString, Object map) {StringBuilder sb new StringBuilder();sb.append( SELECT A.id, A.name,A.address,A.pac,B.respoperson,B.fillinpersontel,A.longitude,A.latitude ).append( FROM hotel_p A LEFT JOIN hotel_p_bu B ON A.id B.gid ).append( WHERE a.isdeleted 0 );if (StringUtils.isNotBlank(map.get(distCode))) {sb.append( AND A.pac like :distCode )}if (StringUtils.isNotBlank(map.get(resName))) {sb.append( AND A.NAME like :resName )}return sb.toString(); }); 4.2 入参 QueryField 为封装jpa查询注解 /*** 资源查询类*/ Data public class ResourceQO extends PageQO {/*** 资源标识*/private String resCode;/*** 数据主键*/private ListString id;/*** 行政区划编码*/QueryField(type QueryType.RIGHT_LIKE)private String distCode;/*** 资源名称*/QueryField(type QueryType.FULL_LIKE)private String resName;}4.3 分页查询 public PageResultMapString, Object pageList(ResourceQO qo){//根据条件查询并拼接配置表数据OptionalResourceQueryConfigPO rqc dao.findByResourceCode(qo.getResCode());BizPreconditions.checkArgumentNoStack(rqc.isPresent(), 资源标识不存在);// 处理区划编码查询当前区划下的所有数据截取右 likeqo.setDistCode(processDistCode(qo.getDistCode()));// 动态获取SQLGroovyShell groovyShell new GroovyShell();//装载解析脚本代码Script script groovyShell.parse(rqc.get().getResourceSql());//执行String json JsonUtil.of(qo);MapString, Object map JsonUtil.ofMap(json, String.class, Object.class);String pageSql (String) script.invokeMethod(pageListSql, map);String countSql select count(*) from ( pageSql ) as pc ;//jpa执行分页查询sql并封装map返回PageMapString, Object pageList dao.executeNativePageQuery(pageSql, countSql, qo);return PageAdapter.adapter(pageList, p - p.getContent());}总结 案例中有很多自定义封装的类下面给出GroovyShell简单示例 SpringContextUtil和neTypeToHdTypeServiceImpl都是spring注入的bean SpringContextUtil是获取bean的通用工具可参考 SpringBoot 获取beanNeTypeToHdTypeServiceImpl是具体业务服务 GetMapping(/v1/test/{neId})public ResultListHdTypeResp test(PathVariable Integer neId){//创建GroovyShellGroovyShell groovyShell new GroovyShell();//装载解析脚本代码Script script groovyShell.parse(package groovy\n \n import com.gsafety.bg.si.manage.service.NeTypeToHdTypeService\n import com.gsafety.bg.si.manage.service.util.SpringContextUtil\n \n void HelloWorld(){\n println \\\033[33mhello world\\033[0m\\n }\n \n def findHdIdsByNeId(Integer neId) {\n NeTypeToHdTypeService service SpringContextUtil.getBean(\neTypeToHdTypeServiceImpl\)\n return service.findHdIdsByNeId(neId);\n }\n);//执行HelloWorldscript.invokeMethod(HelloWorld, null);//执行findHdIdsByNeIdListHdTypeResp resps (ListHdTypeResp)script.invokeMethod(findHdIdsByNeId, neId);resps.forEach(r-{System.out.println(\033[32mr\033[0m);});return Result.success(resps);}输出结果
http://www.huolong8.cn/news/79034/

相关文章:

  • 免费做电子书的网站有哪些磁业 东莞网站建设
  • 百度商桥网站加不上微信小程序网站建设小图标素材
  • 西安网站建设制作价格低展厅设计手绘图
  • 网站建设商标保护用户服务管理系统
  • 做网站找合作伙伴做网站制作怎么样
  • 小程序怎么生成厦门网站建设优化企业
  • 做视频网站怎么赚钱模拟炒股网站开发
  • 网站正在建设亚洲58同城深圳网站建设
  • 锦州制作网站公司wordpress小微商户支付
  • 旅游网站建设普通论文深圳建站公司 方网站
  • h5网站动画怎么做的100m光纤做网站
  • 打造对外宣传工作平台网站建设百度一下首页设为主页
  • wordpress在线支付株洲网站优化找哪家
  • 网站关键词不稳定谷歌seo是做什么的
  • 个人网站的建设流程网站开发研究热点
  • 建网站和建网店的区别做网站需要哪些人手
  • 忘记网站后台用户名wordpress列表显示文章
  • 大学生兼职网站策划书flash网站建设教程视频
  • 网站建设方案报价单wordpress正文底部版权信息
  • 网站 数据库龙岩市城乡建设局网站进不去
  • 公司做网站如何跟客户介绍什么网站能让小孩做算术题
  • 怎么让百度多收录网站沈阳做网站的公司有哪些
  • 制作大型网站电商网站多少钱
  • 对网站分析哈尔滨建站模板大全
  • 网站使用引导wordpress贴心插件
  • 思科中国网站开发案例php团购网站的难点
  • 济南集团网站建设报价scrm服务商
  • it培训网站重庆平台网站建设设计
  • 网站结构怎么做遂宁移动网站建设
  • 网站建设售后质量保证怎么给公司做推广