问题标签 [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.
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?
java - Dropwizard 的健康检查超时?
我有两个 sql 数据库连接,dropwizard 会自动为其添加健康检查。但是当应用程序失去与其中之一的连接时,/healthcheck 端点需要无限长的时间来响应,我希望它在几秒钟后超时。
我已经设置了maxWaitForConnection
设置,并且我也尝试了各种checkConnectionOn..
设置,但没有任何帮助。
更新:如果服务器主动拒绝连接,健康检查会正确失败,但如果不是这种情况,它会无限期挂起,例如网络问题。
无论问题是什么,是否可以在指定的时间值让 sql 健康检查超时?
java - 手动设置 JDBI 的驱动程序
现在我正在用 Java 编写一个程序,它将作为插件插入现有的应用程序。我想在我的插件中使用 JDBI(因为它很舒服而且我已经习惯了)并且需要连接到 MySQL 数据库。
通常在包含驱动程序后可以正常工作,但是现有应用程序存在问题。显然它已经有一个 mysql 驱动程序,但是已经过时了。
这会导致错误并导致无法向数据库发送查询。(已知错误:旧驱动程序已弃用无法与新 MySQL 版本一起使用的方法)
我认为对我的 jar 进行着色会有所帮助(我正在使用 maven),但错误仍然存在。但是我知道我的驱动程序的阴影名称,我只需要知道如何加载它,这样 JDBI 就会使用它。现在我有这样的事情:
我该怎么做才能告诉 jdbi 它必须使用myapp.mysql.jdbc.Driver
?
java - 我可以链接@BindBean 参数吗?
@BindBean
允许我使用 bean 的属性作为参数 - myObj.a
。
我可以使用 bean 的属性 -myObj.a.b
吗?
mysql - JDBI json 响应 o MySql 数据库
我正在尝试使用端点在eclipse中使用tomcat 7作为服务器来质疑mysql数据库,但它总是给我这个错误,有人用jdbi解决了这个问题吗
类型异常报告
消息 java.sql.SQLException:找不到适合 jdbc 的驱动程序:mysql://127.0.0.1/demo
您好,在 Eclipse 项目路径和 tomcat lib 文件夹中有 jar 连接器文件。
java - 您如何使用 JDBI 进行通用插入?
我在 MySQL 中使用 JDBI,我有一个接口 GenericDao,我有这个方法
如何通过使用流畅的查询而不是 SQLObjects 来使用 JDBI 实现此方法?
是否可以使用其中任何一个?
或者
jackson - 根据权限限制 Dropwizard 响应对象
我正在使用 Dropwizard 和 JDBI 构建 REST API,我需要使用同一资源的不同表示。
我们正在使用events
资源的示例:
资源具有event
属性field1
、field2
和。field3
field4
- 通过执行
POST /events
请求正文创建新事件时,应包含所有属性。 - 当以普通用户的身份获取事件时,
GET /event/1
响应正文应仅包含field1
andfield2
。 - 当以超级用户的身份获取事件时,
GET /event/1
响应正文应包含field1
,field2
和field3
。
当涉及到资源 bean、jdbi 查询和资源映射器时,处理这个问题(#2 和 #3)的最佳(简单)方法是什么?
为每个表示分离 bean/mapper/query(不是很干燥,即使使用扩展的基本 bean)?在构建后过滤响应对象(不是很优雅,可能很脆弱,容易意外暴露太多数据)?
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文件。这是完整的堆栈跟踪:
java - @Bind 可以与枚举和其他使用 JDBI 的任意类型一起使用吗?
JDBI 是否支持通过注解绑定枚举类型?
例如,假设一个包含方法的 DAO:
并且,foo
等于Foo.BAR
,我可以期待一个查询:
如果是这样,是toString()
用来确定什么是替代的?
此外,JDBI 是否允许@Bind
与任何扩展的类型一起使用Object
?再次,如果是这样,toString()
使用?
java - 使用 JDBI ResultSetMapper 映射可选字段
我有一个实体,我有一个 EntityMapper 来映射该实体的所有属性。
然后,在我的 DAO 界面中,我使用 @SqlQuery 从数据库中获取
- 有时所有实体的属性->这很好
- 但有时我只获取某些属性--> 在这里映射器失败并出现“SQLException Column xxx not found”
这个问题的推荐解决方案是什么?我希望每个实体只有一个映射器,并且真的不会一直获取所有的属性。