当前位置: 首页 > 知识库问答 >
问题:

jooq-向所有表添加模式名

靳茂
2023-03-14
select * from mytable;
select * from myschema.mytable;
Settings settings = new Settings()
.withRenderMapping(new RenderMapping()
.withSchemata(
    new MappedSchema().withInput("myschema")
                      .withOutput("myschema")));

这似乎不起作用。

我还尝试在代码生成器使用的xml中添加架构名称,如

http://www.jooq.org/doc/3.5/manual/code-generation/codegen-advanced/

<database>
 .....
  <inputSchema>myschema</inputSchema>
  <outputSchema>myschema</outputSchema>

  <schemata>
    <schema>
      <inputSchema>myschema</inputSchema>
      <outputSchema>myschema</outputSchema>
    </schema>
  </schemata>
</database>

共有1个答案

阳德润
2023-03-14

尝试settings.WithRenderSchema(true)。如果只有一个模式,那么jOOQ会对其进行优化,因为大多数数据库都可以处理这种情况。

请注意,代码生成器中使用的架构与您的情况大多无关。映射用于将一些您无法控制的奇怪名称转换为有用的名称(如FQ475转换为master)。jOOQ将这个名称放入代码中。然后,可以使用rendermapping将该内部名称转换为目标数据库使用的架构名称。

如果这不起作用,请在getsql(true)上设置断点,下面的代码是:

Configuration config = new DefaultConfiguration();
config.set(new Settings().withRenderSchema(true));
DSL.using(config)
.selectFrom(MYTABLE)
.getSQL(true);
 类似资料:
  • 问题内容: 我需要将删除标志列添加到数据库中的所有40个用户表。我可以编写一个脚本来遍历sys.tables,但是我想我会检查是否有人有更好的解决方案,或者针对这种情况预先创建了sql。 问题答案: 有一个未记录但众所周知的存储过程sp_msforeachtable:

  • 问题内容: 我正在尝试向我的应用添加主题(深色主题)。因此,当用户单击活动开关时,它将使整个应用进入暗模式。我对黑暗模式进行了硬编码,只是为了看看它会是什么样子。但是现在我希望能够通过和UISwitch启用和禁用它,但是我不确定该怎么做? 然后我要做的是在每个视图控制器中调用该函数以查看其外观,但是如果开关处于打开或关闭状态,那么我必须能够访问它的bool值,然后执行该操作该功能,否则将保持不变。

  • 我有一个工作的Java项目,它使用Access.accdb数据库存储数据。我正在为我的程序进行更新,为用户提供更多的功能。为了使其工作,我需要在现有的表中添加一个列,该列填充了数据。当我研究时,我发现UCanAccess不能支持 这是不幸的,但我明白,由于低级别的驱动程序不支持它,UCanAccess也不能支持它。 然后我找到了这个解决办法: 如何使用UCanAccess修改表 但这对我也不起作用

  • 我正在寻找更新BigQuery中现有表的模式的方法。我可以在python中看到同样的操作,这是一个API请求。我想在Java中看到这一点,并查看我能找到的文档和源代码 但是它重写了整个模式。在这里可以找到其他可能的更新模式的方法 有人能指导我如何使用Java在BigQuery中向现有表添加新列吗?

  • 我正在编写一个mdp文件,并且我正在寻找一种方法来指定(或修改)客户端为特定演示文稿所做的所有请求的HTTP标头。我想在超文本传输协议请求中添加一个授权字段。我希望在不编辑客户端sw的情况下这样做。 我已经阅读了ISO/IEC 23009-1,但我没有发现任何关于它的信息。有人知道怎么做吗?

  • 如何添加一个“全局”变量(如用户名),以便在模板上下文中使用? 目前,我正在将这些显式设置到我的TemplateController中的每个ModelAndView对象。