问题标签 [jdbi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1009 浏览

java - Where should I store a DBI connection and when should I close it?

I'm storing it in a public static field

And never close it, is there a better option?

0 投票
1 回答
1038 浏览

java - Dropwizard 的健康检查超时?

我有两个 sql 数据库连接,dropwizard 会自动为其添加健康检查。但是当应用程序失去与其中之一的连接时,/healthcheck 端点需要无限长的时间来响应,我希望它在几秒钟后超时。

我已经设置了maxWaitForConnection设置,并且我也尝试了各种checkConnectionOn..设置,但没有任何帮助。

更新:如果服务器主动拒绝连接,健康检查会正确失败,但如果不是这种情况,它会无限期挂起,例如网络问题。

无论问题是什么,是否可以在指定的时间值让 sql 健康检查超时?

0 投票
1 回答
1699 浏览

java - 手动设置 JDBI 的驱动程序

现在我正在用 Java 编写一个程序,它将作为插件插入现有的应用程序。我想在我的插件中使用 JDBI(因为它很舒服而且我已经习惯了)并且需要连接到 MySQL 数据库。

通常在包含驱动程序后可以正常工作,但是现有应用程序存在问题。显然它已经有一个 mysql 驱动程序,但是已经过时了。

这会导致错误并导致无法向数据库发送查询。(已知错误:旧驱动程序已弃用无法与新 MySQL 版本一起使用的方法)

我认为对我的 jar 进行着色会有所帮助(我正在使用 maven),但错误仍然存​​在。但是我知道我的驱动程序的阴影名称,我只需要知道如何加载它,这样 JDBI 就会使用它。现在我有这样的事情:

我该怎么做才能告诉 jdbi 它必须使用myapp.mysql.jdbc.Driver

0 投票
0 回答
106 浏览

java - 我可以链接@BindBean 参数吗?

@BindBean允许我使用 bean 的属性作为参数 - myObj.a
我可以使用 bean 的属性 -myObj.a.b吗?

0 投票
2 回答
589 浏览

mysql - JDBI json 响应 o MySql 数据库

我正在尝试使用端点在eclipse中使用tomcat 7作为服务器来质疑mysql数据库,但它总是给我这个错误,有人用jdbi解决了这个问题吗

类型异常报告

消息 java.sql.SQLException:找不到适合 jdbc 的驱动程序:mysql://127.0.0.1/demo

您好,在 Eclipse 项目路径和 tomcat lib 文件夹中有 jar 连接器文件。

0 投票
2 回答
2428 浏览

java - 您如何使用 JDBI 进行通用插入?

我在 MySQL 中使用 JDBI,我有一个接口 GenericDao,我有这个方法

如何通过使用流畅的查询而不是 SQLObjects 来使用 JDBI 实现此方法?

是否可以使用其中任何一个?

或者

0 投票
1 回答
332 浏览

jackson - 根据权限限制 Dropwizard 响应对象

我正在使用 Dropwizard 和 JDBI 构建 REST API,我需要使用同一资源的不同表示。

我们正在使用events资源的示例:

资源具有event属性field1field2和。field3field4

  1. 通过执行POST /events请求正文创建新事件时,应包含所有属性。
  2. 当以普通用户的身份获取事件时,GET /event/1响应正文应仅包含field1and field2
  3. 当以超级用户的身份获取事件时,GET /event/1响应正文应包含field1,field2field3

当涉及到资源 bean、jdbi 查询和资源映射器时,处理这个问题(#2 和 #3)的最佳(简单)方法是什么?

为每个表示分离 bean/mapper/query(不是很干燥,即使使用扩展的基本 bean)?在构建后过滤响应对象(不是很优雅,可能很脆弱,容易意外暴露太多数据)?

0 投票
1 回答
1162 浏览

java - 使用@UseStringTemplate3StatementLocator 时,JDBI 给出错误“ORA-00900: invalid SQL statement”

我正在尝试创建一个与 dao.sql.stg 字符串模板文件链接的 DAO 接口。查询很简单,就是通过id进行选择。

MyDao.groovy:

MyDao.sql.stg:

我的后端数据库是 oracle。我在 Oracle SQL Developer 中尝试过这个查询,它工作得很好,但是当我使用应用程序和 sql.stg 文件运行查询时,它给了我:

我怀疑它以某种方式找不到要使用的 sql.stg 文件,即使我在 POM 中包含了资源目录。

如何让 JDBI 找到正确的 sql.stg 字符串模板文件?我在这个应用程序中遵循了其他 DAO 的示例,它们使用完全相同的设置。

编辑:请注意,如果我将查询字符串硬编码到 DAO 接口中的 @SqlQuery 注释中,而不是使用 stringtemplate 文件,那么它可以正常工作。所以问题肯定是dao无法正确找到或处理stringtemplate文件。这是完整的堆栈跟踪:

0 投票
2 回答
4924 浏览

java - @Bind 可以与枚举和其他使用 JDBI 的任意类型一起使用吗?

JDBI 是否支持通过注解绑定枚举类型?

例如,假设一个包含方法的 DAO:

并且,foo等于Foo.BAR,我可以期待一个查询:

如果是这样,是toString()用来确定什么是替代的?

此外,JDBI 是否允许@Bind与任何扩展的类型一起使用Object?再次,如果是这样,toString()使用?

0 投票
1 回答
837 浏览

java - 使用 JDBI ResultSetMapper 映射可选字段

我有一个实体,我有一个 EntityMapper 来映射该实体的所有属性。

然后,在我的 DAO 界面中,我使用 @SqlQuery 从数据库中获取

  • 有时所有实体的属性->这很好
  • 但有时我只获取某些属性--> 在这里映射器失败并出现“SQLException Column xxx not found”

这个问题的推荐解决方案是什么?我希望每个实体只有一个映射器,并且真的不会一直获取所有的属性。