栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在jOOQ中限定一个临时表列名

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在jOOQ中限定一个临时表列名

在jOOQ中有两种与表/列动态交互的方式(即,不使用代码生成器):

使用普通SQL(
org.jooq.SQL

那就是你在做什么。显然,您可以

Field
通过两种方式直接在普通SQL 引用中限定列:

通过

"tmp"
在每个字段中重复字符串:

Table<Record> TMP = DSL.table("tmp");Field<String> TYPE = DSL.field("tmp.type", String.class);Field<String> TOKEN = DSL.field("tmp.token", String.class);

通过将

"tmp"
引用嵌入到普通的SQL模板中:

Table<Record> TMP = DSL.table("tmp");Field<String> TYPE = DSL.field("{0}.type", String.class, TMP);Field<String> TOKEN = DSL.field("{0}.token", String.class, TMP);

普通的SQL功能在手册中有说明

使用合格的参考(
org.jooq.Name

那可能就是您想要做的。您会写:

Table<Record> TMP = DSL.table(DSL.name("tmp"));Field<String> TYPE = DSL.field(DSL.name("tmp", "type"), String.class);Field<String> TOKEN = DSL.field(DSL.name("tmp", "token"), String.class);

命名功能在手册中进行了描述。

这种方法的优点是:

  • 没有SQL注入风险
  • 区分大小写
  • 表映射和其他AST转换也将起作用


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516074.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号