问题标签 [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 - 带参数的泛型类
在我的ModelImplDao.class
我已将其注册为@RegisterMapper(ModelMapper.class)
. 由于我可以看到ModelMapper
该类只有一个参数Model
,我如何创建一个通用的类并参数化以Model
作为参数,并且我还能够将其注册ModelImplDao.class
为映射器?
java - 使用 JDBI 将二维数组插入 PostreSQL DB?
我可以使用 SQL 对象 API 映射Game
到GAMES
数据库中的一行吗?这是我的尝试:
数据类:
道:
当insert
被调用时,我收到此错误:
是什么[[C
?我能以某种方式完成这项工作吗?如果不是,我真的很感激另一种选择。
java - How to convert 2d array from PostgreSQL DB to java 2d array using JDBI?
How can I convert a 2d char array from my Postgres DB to a native Java char[][]? This is my attempt based on this answer:
Data class:
DAO:
But this results in a cast error:
Do I need to use ResultSet instead?
java - 如何在 JDBI 中使用 IN 运算符?
我正在尝试在 Dropwizard 上使用 MYSQL JDBI 进行 IN 查询(我认为不相关)。
正如这里所建议的,我还用
但是当我启动应用程序时,我收到以下错误:
有没有人知道如何解决这个问题?
java - Java + MySQL + 内联用户变量:相同的查询在 SQL 编辑器中有效,在 JDBC 中输出错误 (org.skife.jdbi)
我正在运行这样的查询:
在 SequelPro(SQL 编辑器)中运行这个查询非常完美。但是,当使用 org.skife.jdbi(作为@SqlUpdate)运行它时,用户定义的变量 @counter 始终为 1,从而产生错误的更新。
此外,我尝试将此更新查询转换为存储过程: - 当我从 SequelPro 调用 SP 时,我得到了正确的结果。- 当我从 JDBI 调用 SP 时,我得到错误的结果(@counter == 1)。
Java 正在执行的 SQL 查询是正确的(我查看了我的 MySQL 日志以检查 Java 正在执行什么),但是无法正确评估我的用户定义变量,无论我调用显式查询还是调用包含我的 SP询问。
想法?这是 JDBC 或 org.skife.jdbi 的错误吗?
jdbi - JDBI、模型映射器和 SQL 对象查询
我将模型映射器与 JDBI 一起使用,但我无法将模型映射器与 SQL 对象查询一起使用。
例如我有这个选择
并且文档说我必须使用 ResultSetMapper 或 ResultSetMapperFactory 来映射结果。我想编写一个使用模型映射器的映射器,但是如果可以的话,我有一些问题要理解(下面的代码不起作用)。这是 ExampleMapper 类中的方法(与 SqlObject 一起使用的注解是
@RegisterMapper(ExampleMapper.class)
)
如何使用模型映射器映射结果集?谢谢, 西尔维娅
java - 将 SQL 语句动态添加到 JDBI StatementLocator
如何在不使用繁琐的模板组文件或损害在对象注解中使用原始 SQL 的能力的情况下将Map
包含查询名称、语句的内容添加
到SQL 对象的语句缓存中,同时保留功能?Handle
@Define
我希望以编程方式为 SQL 对象的应用程序加载生成基本的 CRUD 操作,以消除为数据库中每个表的每个单个操作编写样板 SQL 的需要。问题是,这@Define
似乎只在使用 ; 注释 SQL 对象接口时起作用@UseStringTemplate3StatementLocator
。但是StringTemplate3StatementLocator
似乎没有提供一种明显的方法来添加动态生成的查询。
java - 在 JDBI / Dropwizard 应用程序中使用 @Transaction
我有两个这样的 jdbi dao:
我想在一个事务中执行两个 dao 的保存,例如:
在 spring 中,我使用了@transactional 注释。我可以用 dropwizard 和 jdbi 做什么?
java - 将 JDBI @BindBean 与 AutoValue 一起使用
TLDR;
JDBI@BindBean
注解会生成一个IllegalAccessException
带有 AutoValue 的生成类型,因为生成的类型是包私有的,并且默认情况下无法使用反射访问。
JDBI 是不灵活的还是有通过 AutoValue 的解决方法?(下面的完整问题)
快速背景
我正在尝试将 JDBI@BindBean
注释与使用 AutoValue 生成源的类型一起使用。
问题是生成的代码如下所示:
注意这个类是包私有的!
现在,如果我尝试使用@BindBean
,例如:
因为AutoValue_Foo
是包私有的,并且BindBeanFactory
使用反射,如果尝试find
使用AutoValue_Foo
类型调用,结果是:
相关的 JDBI 代码在这里。我从 Java 反射的角度理解,这可以使用来解决,setAccessible(true)
但这需要 JDBI 的 PR。
所以问题如下:
有没有办法重组我的代码,我可以在不创建新的 JDBI 映射器的情况下绑定
Foo
类型AutoValue_Foo
使用?@BindBean
有没有办法
@AutoValue
生成public
. 我理解为什么这通常是不可取的(推动人们使用接口而不是实现)。是不是
BindBeanFactory
太不灵活了?它是否应该使用setAccessible(true)
在其原始包之外可用的方法?
java - Dropwizard postgres 每个线程的新连接
Dropwizard 中是否有一个配置选项来确保由对您的服务的新请求产生的每个线程都获得自己的数据库连接?