草庐IT

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

我想知道jdbisqlapi为了调试目的到底处理了什么sql查询。我的界面类如下publicintefacemyinteface{@SqlQuery("select:c1fromtablenamewherecond=:cd")StringreturnMeValue(@Bind("c1")Stringc1,@Bind("cd")Integercd);}然后在另一个类中调用为Stringresult=myinterfaceclassobject.returnMeValue("Name",1);我没有得到预期的答案,所以我想看看实际进入sql查询的内容。那么有什么方法可以得到最终处理的查询吗

java - JDBI,使用 sql 查询检索数据到自定义对象(构造函数)而不是 Map

所以当我们使用JDBI从数据库中查询时,它会将它放入一个Map中。类型。我想把它作为我的自定义对象(构造函数)而不是Map.DBIdbi=establishConnection(url,userName,passWord);Handlehandle=dbi.open();List>rs=handle.select("select*fromsometable");相反,我想使用:Listrs=handle.select("select*fromsometable");在哪里customizedObject类是一个包含所有列属性的对象。有什么办法吗?我找到了一些相关文档,但我无法真正理解实

java - hibernate 与 JDBI

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我正在使用Dropwizard框架(版本0.7.0)构建Web服务。它涉及对数据库执行一些只读查询,操作结果集,然后返回该数据集。我使用MySQL作为数据库引擎。由于我是这个框架的新手,我想知道应该选择哪个选项:Hibernate还是JDBI。

java - 如何将 jdbiFactory DAO 注入(inject) Dropwizard 命令?

我开始使用Dropwizard我正在尝试创建一个Command这需要使用数据库。如果有人想知道我为什么要这样做,我可以提供充分的理由,但这不是我要问的重点。它是关于Dropwizard中的依赖倒置和服务初始化和运行阶段。Dropwizard鼓励使用其DbiFactorytobuildDBIinstances但是为了获得一个,您需要一个Environment实例和/或数据库配置:publicclassConsoleServiceextendsService{publicstaticvoidmain(String...args)throwsException{newConsoleServi

java - JDBI 是否接受 UUID 参数?

当使用SQL对象参数绑定(bind)时,JDBI使用UUID参数开箱即用?我有这样的方法:@SqlQuery("EXECUTE[MyProcedure]:myField")MyDtomyMethod(@Bind("myField")UUIDmyField);它绑定(bind)到接收如下参数的SQLServer存储过程:@myFielduniqueidentifier执行时抛出异常:!com.microsoft.sqlserver.jdbc.SQLServerException:TheconversionfromUNKNOWNtoUNKNOWNisunsupported.!atcom.m

java - 在 JDBI/Dropwizard 应用程序中使用@Transaction

我有两个像这样的jdbidao:publicinterfacedao1{@Query("insertintotable1...")findByid(myBean1);}publicinterfacedao2{@Query("insertintotable2...)save(myBean2;}}我想在一个事务中执行两个dao的保存,例如:dao1.save();dao2.save();在spring中,我使用了@transactional注释。我可以用dropwizard和jdbi做什么? 最佳答案 您可以在JDBI中使用@Trans

java - 数据库在第一次请求时每天抛出无法关闭资源异常

对于每天到达我的服务器的第一个请求,我得到以下异常:org.skife.jdbi.v2.exceptions.UnableToCloseResourceException:UnabletocloseConnection。在第一个请求之后,任何后续请求都可以毫无问题地访问数据库,直到第二天。我正在使用jdbi和mysql数据库。 最佳答案 我必须添加一个ValidationQuery,它可以是SELECT1 关于java-数据库在第一次请求时每天抛出无法关闭资源异常,我们在StackOve

java - 如何使用 JDBI 的 Sql 对象 API 在运行时创建动态 Sql 查询?

我一直在将一个现有项目从jdbc转移到jdbi,并且我一直在充分利用jdbi漂亮的SQL对象API。我们正在使用mysql。虽然SQL对象API可以构造在编译时已知的已处理查询,但我找不到在运行时生成查询的方法。具体来说,我希望能够做这样的事情:@SqlUpdate("UPDATErecordSET"+@IfNotZero("foo")"foo=:foo"+@IfNotNull("bar")"bar=:bar"+@IfNotNull("baz")"baz=:baz"+"WHEREid=:id")publicabstractintupdateRecord(@Bind("id")intid

java - JDBI批处理操作是原子的吗?

JDBI批处理操作(插入或更新)是原子的吗?或者我需要将它们包装在一个交易block中吗? 最佳答案 根据javadocs默认情况下它是事务性的。我不知道它是否满足原子的描述,但您不需要将它们包装在事务block中。(仅供引用,如果您想在DAO级别做一些事务性的事情,您可以使用@Transaction注释,这比事务block更好) 关于java-JDBI批处理操作是原子的吗?,我们在StackOverflow上找到一个类似的问题: https://stacko

java - 如何使用JDBI运行sql脚本文件

我正在使用jdbi连接到db并执行sql命令。dbi=newDBI("jdbc:mysql://"+dbHostName+"/"+dbName,"root","");dbi.withHandle(newHandleCallback(){@OverridepublicObjectwithHandle(Handlehandle)throwsException{handle.execute("Querytoexecute")returnnull;}});现在我想使用jdbi运行sql文件。我在谷歌上搜索了很多,但不知道如何搜索。 最佳答案