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

相关文章

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方法时响应总结统一返回

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Python实现文件批量重命名器

《Python实现文件批量重命名器》在日常工作和学习中,我们经常需要对大量文件进行重命名操作,本文将介绍一个使用Python开发的文件批量重命名工具,提供了多种重命名模式,有需要的小伙伴可以了解下... 目录前言功能特点模块化设计1.目录路径获取模块2.文件列表获取模块3.重命名模式选择模块4.序列号参数配

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Mysql表如何按照日期字段的年月分区

《Mysql表如何按照日期字段的年月分区》:本文主要介绍Mysql表如何按照日期字段的年月分区的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、创键表时直接设置分区二、已有表分区1、分区的前置条件2、分区操作三、验证四、注意总结一、创键表时直接设置分区