JDBI中如何动态绑定表名

2024-03-29

我尝试使用

SELECT COUNT(*) FROM :TableName;

在 JDBI 中我使用了

.bind("Tablename", "MyTable")

结果始终在单引号内:

SELECT COUNT(*) FROM 'MyTable';

有没有正确的方法来参数化类似的东西TableName?


bind不是用于标识符而是值。Table是一个数据库对象,它的名称是引用它的标识符。

因此,您必须显式构造 sql 查询字符串以动态包含表名。

Example:

String tableName = "employee";
String sql = "SELECT COUNT(*) FROM " + tableName;

然后,如果您想根据字段值或表达式过滤计数或任何其他结果,则可以绑定它。

Example:

sql = sql + " WHERE deptno = :deptNoToBind";
int deptNo = 20;
// ... use db handle to bind
handle.createQuery( sql )
      .bind( "deptNoToBind", deptNo );

您可以看到列或表达式的值已绑定,但标识符未绑定。

您正在寻找的功能是 @Define - 这是其用法的示例:

import org.skife.jdbi.v2.sqlobject.customizers.Define;
...
@SqlUpdate("create table if not exists <table> (" +
        "startTime TimeStamp not null," +
        "stopTime TimeStamp not null," +
        "uuid varchar(255)" +
        ")")
public void createTable(@Define("table") String table);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDBI中如何动态绑定表名 的相关文章

随机推荐

  • 为什么 ERD 中不允许使用特定基数?

    在有关实体关系图的每个教程中 我都读到不允许为关系指定固定基数 只有对 ERD 的非正式评论才能澄清飞行员的数量exactly 2 因此 例如 航班和飞行员之间的关系 其中每个航班恰好有 2 名飞行员 必须表示为
  • 将 ValidationRules 绑定在一行中?

    我已经编写了几个单行绑定 如果可能并且仍然是人类可读的 我希望保持这种方式 有什么办法可以重写这个
  • Fork-Join 相关: join() vs get() vs invoke()

    我有必要使用吗join with fork 或者我也可以使用其中之一join get invoke 我检查了API http docs oracle com javase 7 docs api java util concurrent Fo
  • AutoMapper 具有来自 IDataReader 的列表数据

    using IDataReader dr DatabaseContext ExecuteReader command if dr Read AutoMapper Mapper CreateMap
  • 在 PHP 中通过用户 标签将一个页面链接到另一个页面

    这是我的海报代码在一页中 a href img href a 现在我想将其链接到另一个页面假设我单击 说 以获取 href mydomain com 1 它将重定向到另一个页面并播放该文件 该页面的代码是 if playlistitem l
  • RESTKit - 将大量对象发布到服务器

    如何使用 RESTKit 将对象数组发布到我的服务器 我有一个名为的自定义对象Contact它有一些属性 例如name phone等等 我想发送这些的数组Contact向服务器发送对象 我知道的方法是postObject path para
  • 在 swift 4 中自动关闭视图控制器

    假设我有 3 个ViewControllers标记为 A B 和 C 现在 A 是rootViewController窗口的形状 它以模态方式呈现 B 当点击 B 中的按钮时 应该立即以模态方式呈现 C 并自动关闭 B 我怎样才能做到这一点
  • 使用 pyqtgraph 有效地绘制大型数据集

    我正在尝试使用 pyqtgraph 生成散点图和直方图矩阵 每个散点图的输入 x 和 y 值 是长度大于 1 000 000 的 numpy 数组 生成这些图需要很长时间 2x2 绘图矩阵 gt 1 分钟 matplotlib 实际上生成相
  • ModuleNotFoundError:使用tensorflow 2.6时没有名为“keras”的模块

    我创建了一个新的 conda 环境 conda create name tf tensorflow 2 6 并尝试编译 import tensorflow as tf model tf keras models Sequential 导致
  • 如何设置组合框宽度以适合最大的项目

    我希望我的ComboBox必须适应其width到最长的String Item我的清单中 代码示例 ComboBox model Banana Apple ThisIsTheLongestWordThatIHave Coconut 知道如何做
  • Android 中写入锁定文件

    我将一些数据存储在 SD 卡上的文件上 并从不同的线程读取相同的文件 为了避免读取和写入的竞争条件 我想在两种情况下锁定文件 读取和写入 我心里有两个选择 1 我可以使用同步来做到这一点 2 我可以使用文件锁来做到这一点 我应该选择哪一个
  • 批量插入 mysql - 我可以使用忽略子句吗?有限制吗?批量插入的记录?

    我有一堆数据想要插入 我决定对 mysql 使用批量插入 插入朋友 请求者 好友 值 value1 value2 value2 value1 value3 value4 value4 value3 我想了解以下信息 1 我可以使用忽略吗 例
  • Json允许错误

    这个错误在我们的 MVC 应用程序中随机出现 有时做同样的事情不会 有时却会 有谁知道这是否与任何可以简单解决的问题有关 或者这是否是你们很多人都见过的常见现象 System InvalidOperationException This r
  • 注册 COM 互操作

    当选中构建属性中的 Register for COM Interop 选项时 出现错误 无法注册程序集访问 被拒绝 取消选中该选项时 项目构建时不会出现任何错误 但我的要求是注册 COM 对象 因为我需要在 VB 中使用相同的对象 谁能帮我
  • 与 WPF 和数据绑定一起使用的简单 CRUD

    我是用于 Windows 应用程序开发的 WPF 新手 只是想先将其介绍一下 我正在使用 Visual Studio 2010 和 NET Framework 4 0 我正在开发一个相当简单的管理工具 为了简单起见 假设我正在处理员工数据
  • 全屏嵌入 Bing 地图

    有人知道是否可以全屏嵌入 bing 地图吗 这样地图就可以始终填充背景并简单地在顶部覆盖一些元素 我似乎无法用 100 iframe 实现这一点 而且 bing 的帮助也没有那么有帮助 谢谢 如果我没理解错的话 你想要实现让地图填满整个屏幕
  • C11 结构继承与匿名结构

    I saw this way https stackoverflow com a 14523823 108802实施某种struct匿名继承struct在C11中 想尝试一下 这是我所拥有的 struct struct a int aa s
  • R - 查找行中的所有重复项并替换

    我有一个大数据框 正在尝试查找一行中的重复元素 然后用空字符串替换所有重复值 X1 X2 X3 X4 X5 x 1 2 3 3 4 y 1 1 2 3 4 应该成为 X1 X2 X3 X4 X5 x 1 2 4 y 2 3 4 我可以在单个
  • Cython:将扩展类型序列作为另一个扩展类型的属性,可以访问 cdef 方法

    假设我定义了以下 Cython 类 cdef class Kernel cdef readonly double a def init self double a self a a cdef public double GetValue s
  • JDBI中如何动态绑定表名

    我尝试使用 SELECT COUNT FROM TableName 在 JDBI 中我使用了 bind Tablename MyTable 结果始终在单引号内 SELECT COUNT FROM MyTable 有没有正确的方法来参数化类似