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

相关文章

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

使用Java编写一个文件批量重命名工具

《使用Java编写一个文件批量重命名工具》这篇文章主要为大家详细介绍了如何使用Java编写一个文件批量重命名工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景处理1. 文件夹检查与遍历2. 批量重命名3. 输出配置代码片段完整代码背景在开发移动应用时,UI设计通常会提供不

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