Tag: jdbi

使用JDBI获取Postgres数组数据

我有一个使用JDBI(一个JDBC包装器)来访问PostgreSQL数据库的java程序。 其中一列是数组数据类型(mycolumn integer[]) 。 我在mapper类中使用了什么? 我认为resultSet.getArray(“mycolumn”)是正确的做法,但我不知道如何从返回的java.sql.Array对象中获取数据。 有关如何执行此操作的任何提示或良好链接?

使用Dropwizard和JDBI查询具有多个模式的数据库?

我正在使用DropWizard(使用JDBI)构建Java Rest API,我的要求是我需要使用相同的应用程序查询多个MySQL模式。 它基本上是一个包含多个模式的AWS MySQL实例 – 每个客户端一个模式。 我需要的是一种机制,它根据请求知道要查询哪个“模式” – IE:请求属于哪个客户端。 我知道如何创建DataSource,DAO等(使用本教程: https : //dropwizard.github.io/dropwizard/manual/jdbi.html ),但不知道如何查询多个模式。 有任何想法吗?

如何在JDBI中使用IN运算符?

我正在尝试使用Dropwizard上的MYSQL JDBI进行IN查询(不相关,我假设)。 @SqlQuery(“SELECT id FROM table where field in ()”) List findSomething(@BindIn(“list”) List someList); 正如这里所建议的那样,我也用类别注释了这个类 @UseStringTemplate3StatementLocator 但是当我启动应用程序时,我收到以下错误: Exception in thread “main” java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.skife.jdbi.v2.sqlobject.stringtemplate.UseStringTemplate3StatementLocator.errorListener() 有没有人对如何解决这个问题有个好主意?

如何在JDBI sql api中打印@SqlQuery注释

我想知道jdbi sql api处理sql查询究竟是什么用于调试目的。 我的接口类如下 public inteface myinteface{ @SqlQuery(“select :c1 from tablename where cond = :cd”) String returnMeValue(@Bind(“c1”) String c1, @Bind(“cd”) Integer cd); } 然后在另一个类中调用String result = myinterfaceclassobject.returnMeValue(“Name”,1); 我没有得到预期的答案所以我想看看实际上是什么进入sql查询。 那么有什么方法可以获得最终处理的查询吗?

Jdbi – 如何在Java中绑定list参数?

我们有一个由Jdbi( org.skife.jdbi.v2 )执行的SQL语句。 对于绑定参数,我们使用Jdbi的bind方法: Handle handle = … Query<Map> sqlQuery = handle.createQuery(query); sqlQuery.bind(…) 但是我们在列表中遇到问题,目前我们正在使用String.format 。 所以我们的查询看起来像这样: SELECT DISTINCT tableOne.columnOne, tableTwo.columnTwo, tableTwo.columnThree FROM tableOne JOIN tableTwo ON tableOne.columnOne = tableTwo.columnOne WHERE tableTwo.columnTwo = :parameterOne AND tableTwo.columnThree IN (%s) %s被String.format替换,所以我们必须在java代码中生成一个正确的字符串。 然后在替换所有%s ,我们使用jdbi的bind方法替换所有其他参数( :parameterOne或? )。 有没有办法用jdbi替换String.format ? 有一个方法bind(String, Object)但默认情况下它不处理列表/数组。 我发现这篇文章解释了如何编写我们自己的工厂来绑定自定义对象,但它看起来很费劲,特别是对于应该已经支持的东西。

如何在jDBI中进行查询?

如何在jDBI中执行这样的事情? @SqlQuery(“select id from foo where name in “) List getIds(@Bind(“nameList”) List nameList); 表: foo(id int,name varchar) 与myBatis的@SelectProvider类似。 类似的问题已经被问到如何使用JDBI的Sql Object API在运行时创建动态Sql查询? ,但不知何故,答案对我来说并不清楚。

JDBI SQL对象查询中的动态顺序

如何在JDBI中使用SQL对象查询进行排序? 我想做的事情如下: @SqlQuery( “SELECT * FROM users ” + “WHERE something = :something ” + “ORDER BY :orderBy :orderDir” ) List getUsers( @Bind(“something”) Integer something , @BindOrderBy(“orderBy”) String orderBy , @BindOrderDir(“orderDir”) String orderDir ); 要么 @SqlQuery( “SELECT * FROM users ” + “WHERE something = :something ” + “ORDER BY :orderBy :orderDir” ) List getUsers( […]