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

相关文章

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行

Python脚本:对文件进行批量重命名

字符替换:批量对文件名中指定字符进行替换添加前缀:批量向原文件名添加前缀添加后缀:批量向原文件名添加后缀 import osdef Rename_CharReplace():#对文件名中某字符进行替换(已完结)re_dir = os.getcwd()re_list = os.listdir(re_dir)original_char = input('请输入你要替换的字符:')replace_ch

struts2中的json返回指定的多个参数

要返回指定的多个参数,就必须在struts.xml中的配置如下: <action name="goodsType_*" class="goodsTypeAction" method="{1}"> <!-- 查询商品类别信息==分页 --> <result type="json" name="goodsType_findPgae"> <!--在这一行进行指定,其中lis是一个List集合,但

Collection的所有的方法演示

import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class TestCollection {/*** @param args* Collection的所有的方法演示* 此程序没有使用泛型,所以可以添加任意类型* 以后如果写到泛型会补充这一方面的内容*/public s

Temu官方宣导务必将所有的点位材料进行检测-RSL资质检测

关于饰品类产品合规问题宣导: 产品法规RSL要求 RSL测试是根据REACH法规及附录17的要求进行测试。REACH法规是欧洲一项重要的法规,其中包含许多对化学物质进行限制的规定和高度关注物质。 为了确保珠宝首饰的安全性,欧盟REACH法规规定,珠宝首饰上架各大电商平台前必须进行RSLReport(欧盟禁限用化学物质检测报告)资质认证,以确保产品不含对人体有害的化学物质。 RSL-铅,

Python批量读取身份证信息录入系统和重命名

前言 大家好, 如果你对自动化处理身份证图片感兴趣,可以尝试以下操作:从身份证图片中快速提取信息,填入表格并提交到网页系统。如果你无法完成这个任务,我们将在“Python自动化办公2.0”课程中详细讲解实现整个过程。 实现过程概述: 模块与功能: re 模块:用于从 OCR 识别出的文本中提取所需的信息。 日期模块:计算年龄。 pandas:处理和操作表格数据。 PaddleOCR:百度的

mysql数据库member中telephone字段被篡改

现在准备查询log日志文件,看下被操作的原因是什么

获取所有classpath指定包下类的所有子类

1.问题 开发过程中,有时需要找到所有classpath下,特定包下某个类的所有子类,如何做到? 2. 实现 比较常见的解决方案是自己遍历目录,查找所有.class文件。 下面这个方法使用spring工具类实现,简化过程,不再需要自己遍历目录 /*** 获取在指定包下某个class的所有非抽象子类** @param parentClass 父类* @param packagePat

为libpng不同架构创建构建目录、编译、安装以及合并库文件的所有步骤。

好的。既然你已经有了 libpng 的源代码,并且当前处在它的目录下,我们可以简化脚本,不再需要下载和解压源代码这一步。以下是修改后的脚本:```sh#!/bin/bash# 当前目录即 libpng 源代码目录LIBPNG_SRC_DIR=$(pwd)# 设置工作目录WORK_DIR=$(pwd)/libpng_buildBUILD_DIR_X86_64="$WORK_DIR/build

java的Timestamp时间插入mysql的datetime字段是0000-00-00 00:00:00

Mysql 与 java 的时间类型             MySql的时间类型有              Java 中与之对应的时间类型                  date                                               java.sql.Date               Datetime