草庐IT

generic-jdbc-connector

全部标签

java - 使用 spring jdbc oracle 设置 session 时区

我有一个spring/jdbc/oracle10g应用程序。Oracle服务器数据库时区设置为GMT+2JVM时区为GMT+2(尽管在我的情况下这无关紧要)。我有一个执行一些日期操作的存储过程。问题是session时区与数据库时区不同(格林威治标准时间),即使我没有在我的代码/配置中显式设置session时区。据我所知,session时区默认等于数据库时区。知道为什么session时区与数据库时区不同,或者我如何在spring配置(org.apache.commons.dbcp.BasicDataSource)中配置它?谢谢。 最佳答案

java - jTDS JDBC 驱动程序 : getNString() throws error

我正在使用jtDSJDBC驱动程序,当我调用ResultSet.getNString(index);时,出现以下异常:run:Exceptioninthread"main"java.lang.AbstractMethodError:net.sourceforge.jtds.jdbc.JtdsResultSet.getNString(I)Ljava/lang/String;atjavasql.ProductsController.PrePopulate(ProductsController.java:51)atjavasql.ProductsController.(ProductsCon

java - 对以下 'generics' 代码感到困惑

这个问题在这里已经有了答案:WhydoesthisJavamethodappeartohavetworeturntypes?(3个答案)关闭7年前。我似乎不能完全理解下面的说法。T[]toArray(T[]a);虽然,我明白上面的声明是一个函数的声明,它应该能够接受并返回一个T的数组。类型对象...我不明白为什么1-两个T的周围没有2-似乎有2种返回类型,如&T[]

java - 通过 JDBC 将 DDL 与 SELECT 混合时为 "ERROR: cached plan must not change result type"

我在通过JDBC使用PostgreSQL时遇到了一个有趣的问题(无法在JDBC之外重现),我得到了一个“ERROR:cachedplanmustnotchangeresulttype”重现此问题的最简单方法是使用以下代码:Connectionc=getConnection();c.setAutoCommit(true);Liststatements=Arrays.asList("createtablet(aint)","select*fromt","altertabletaddbint","select*fromt","altertabletaddcint","select*fromt

java - 组织.hibernate.MappingException : No Dialect mapping for JDBC type: 1111

InitialSessionFactorycreationfailed.org.hibernate.MappingException:NoDialectmappingforJDBCtype:111127Dec,20126:38:34PMorg.apache.catalina.core.StandardWrapperValveinvokeSEVERE:Servlet.service()forservletcommissionthrewexceptionorg.hibernate.MappingException:NoDialectmappingforJDBCtype:1111atorg.

java - 无法使用 Maven 导入 o​​rg.springframework.jdbc.core

我不知道为什么在我的项目中找不到以下导入:代码:importorg.springframework.jdbc.core.SqlInOutParameter;importorg.springframework.jdbc.core.SqlParameter;importorg.springframework.jdbc.object.StoredProcedure;我的pom.xml文件中有以下内容代码:org.springframeworkspring-context3.2.1.RELEASE但我发现,如果我添加以下内容,它会起作用,但我不明白为什么我需要这样做:org.springfra

java - 通过JDBC向PostgreSQL表中插入 "daterange"字段值

我在PostgreSQL(9.3)中有一张表daterange字段类型。我可以像使用JDBC的字符串一样选择这个字段,但我不能将它插入到表中。我尝试过的:PreparedStatementstm=conn.prepareStatement("insertintomytable(my_daterange_field)values(?)");stm.setString(1,"[2014-01-02,2014-01-04]");inti=stm.executeUpdate();我得到了:Exceptioninthread"main"org.postgresql.util.PSQLExcept

java - 在一个 Java 应用程序中使用多个 Oracle JDBC 驱动程序?

我想通过JDBC连接到两个不同的Oracle数据库(一个8.0.5.0.0和一个12c)。我确实有两个JDBC驱动程序,它们可以通过简单的“helloworld”应用程序单独并成功地连接到相应的数据库。下面,我将它们放在一个Java应用程序中,不幸的是它不再工作了(两个驱动程序都被加载)。我已阅读这篇文章:HandlemultipleJDBCdriversfromtheSAMEVENDOR.提到的选项1可能是可行的,但似乎有一个主要问题:OracleDataSource在旧的8驱动中似乎还没有,只是在以后的版本中引入了(12c版本的驱动中有)。关于如何使用一个Java应用程序和两个JD

Java Generics - 类本身的子类?

我目前正在阅读JavaGenerics,当涉及到通配符时我有点卡住了。我从Collections类中得到了这个方法:publicvoidcopy(Listdest,Listsrc){for(inti=0;i然后我被告知可以像这样调用方法:Listobjs=newArrayList();Listints=newArrayList();Collections.copy(objs,ints);由于类型参数已经交由编译器决定,书上说编译器选择类型参数为Integer。但这怎么可能呢?如果取为Integer,这意味着在方法声明中-List将转换为List.这是一个错误,还是关于泛型有不同的规则?

java - 使用 H2 数据库的 JDBC 中的年份从负 -509 变为正 510

-509对比510我看到使用JDBC时发生了某种更改或错误的数据。所以我观察使用H2DatabaseJava8更新151上的版本1.4.196。这是一个完整的例子。请注意我们如何检索日期值三次,第一次作为LocalDate对象,第二次作为文本,第三次作为从转换中提取的int年份数字>LocalDate对象。在文字版中我们可以看到年份确实是负数。奇怪的是,LocalDate有一个不同的年份,它是正数而不是负数。似乎是一个错误。privatevoiddoIt(){System.out.println("BASIL-RunningdoIt.");try{Class.forName("org.