jooq重命名某个字段并返回所有字段

2024-08-27 15:58

本文主要是介绍jooq重命名某个字段并返回所有字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境

Java:1.8
jooq: 3.9.6

前言

今天在写jooqJava代码时,突发奇想,如何重命名某个字段并返回所有字段
因为业务上大部分都是如下这种代码:

dsl.select().from(PRICE_RULE_ENTRY_FIXED).join(PRICE_RULE).on(PRICE_RULE_ENTRY_FIXED.RULE_ID.eq(PRICE_RULE.ID))
.where(PRICE_RULE.PURCHASER_ID.eq(purchaserId).and(PRICE_RULE.TYPE.eq(priceRuleType))).fetchInto(PriceRuleEntryFixed.class);

正常情况下,满足大部分需要;
但是如果两张表有重复字段,比如表A有createtime字段,表B也有这个字段,并且他们的值是不一样的。当这两个表关联查询时,使用上面的代码就不能同时取到createtime字段。

正文

我对jooq也不是很了解,目前只是会有阶段。直接上代码:

dsl.select(PRICE_RULE.fields()).select(PRICE_RULE_ENTRY.fields()).select(field(PRICE_RULE.CREATED).as("yutao")).from(PRICE_RULE_ENTRY).join(PRICE_RULE).on(PRICE_RULE_ENTRY.RULE_ID.eq(PRICE_RULE.ID)).where(PRICE_RULE.PURCHASER_ID.eq(purchaserId).and(PRICE_RULE.TYPE.eq(priceRuleType))).fetchInto(PriceRuleEntryVO.class);

重点就是:

dsl.select(PRICE_RULE.fields()).select(PRICE_RULE_ENTRY.fields())
.select(field(PRICE_RULE.CREATED).as("yutao"))

本来我是写

dsl.select("*").select(PRICE_RULE_ENTRY.fields())
.select(field(PRICE_RULE.CREATED).as("yutao"))

但是select方法里是要映射具体某个类的,比如int就要映射Integer
"*",其不知道映射哪个类的。

要向或者表的所有字段可以表名.fields()


灵感地址:

http://www.jooq.org/doc/3.0/manual/getting-started/use-cases/jooq-as-a-standalone-sql-builder/

这篇关于jooq重命名某个字段并返回所有字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112119

相关文章

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

mybatis-plus如何根据任意字段saveOrUpdateBatch

《mybatis-plus如何根据任意字段saveOrUpdateBatch》MyBatisPlussaveOrUpdateBatch默认按主键判断操作类型,若需按其他唯一字段(如agentId、pe... 目录使用场景方法源码方法改造首先在service层定义接口service层接口实现总结使用场景my

Django HTTPResponse响应体中返回openpyxl生成的文件过程

《DjangoHTTPResponse响应体中返回openpyxl生成的文件过程》Django返回文件流时需通过Content-Disposition头指定编码后的文件名,使用openpyxl的sa... 目录Django返回文件流时使用指定文件名Django HTTPResponse响应体中返回openp

Python自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

SpringBoot中使用Flux实现流式返回的方法小结

《SpringBoot中使用Flux实现流式返回的方法小结》文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连... 目录背景流式返回的核心概念与优势1. 提升用户体验2. 降低内存消耗3. 支持长连接与实时通信在Sp

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回