jjzjj

JDBCTemplate

全部标签

java - 如何以编程方式使用 Spring 的 JdbcTemplate?

我们使用Spring的JdbcTemplate,它是通过Springconfig进行配置的,如下图所示。有没有办法在不注入(inject)数据源的情况下做到这一点?我只想以编程方式创建JdbcTemplate实例,并使用TheOracleDS“初始化”数据源。我们当前的配置:Java类privateJdbcTemplatejdbcTemplate;@Resource(name="myDataSource")publicvoidsetDataSource(DataSourcedataSource){this.jdbcTemplate=newJdbcTemplate(dataSource)

java - 从 JdbcTemplate 中的 ResultSet 获取 DateTime

在数据库中,我的列是TIMESTAMP类型,所以我的类具有Datetime类型的属性,如下所示:publicvoidsetDiscoveryDate(finalDateTimediscoveryDtTm){this.discoveryDtTm=discoveryDtTm;}现在在JdbcTemplate中我想得到它,所以一些代码是这样的:variant.setDiscoveryDate(rs.getTimestamp("discovery_dt_tm"));这不起作用,因为结果集的get列我找不到返回DateTime的东西,我只看到getDate或getTime。

java.sql.SQLException : Invalid column name 异常

我不明白为什么我会在此处收到“无效的列名”。我们已经在Oracle中直接尝试了sql的一个变体,它工作正常,但是当我使用jdbcTemplate尝试它时,出现了问题。ListalleXmler=jdbcTemplate.query("selectp.applicationid,x.datadocumentid,x.datadocumentxml"+"fromCFUSERENGINE51.PROCESSENGINEp"+"leftjoinCFUSERENGINE51.DATADOCUMENTXMLx"+"onp.processengineguid=x.processengineguid"

java - 插入行并获取生成的 ID

我正在尝试使用Spring的JdbcTemplate类将一行插入到名为transaction的MySQL表中并获取生成的ID。相关代码为:publicTransactioninsertTransaction(finalTransactiontran){//WillholdtheIDoftherowcreatedbytheinsertKeyHolderkeyHolder=newGeneratedKeyHolder();getJdbcTemplate().update(newPreparedStatementCreator(){publicPreparedStatementcreatePr

java - 简单的 Jdbc 模板。 - 插入和检索 ID

我正在使用simpleJdbcTemplate将数据放入数据库。simpleJdbcTemplate.update("insertintoTABLEvalues(default)");我不想放置任何数据,因为我的单元测试不需要它。如何从插入的行中获取ID?我可以检索当前序列值,但如果其他人执行插入操作,那么我将获得下一个序列值。有没有办法使用simpleJdbcTemplate插入一行并获取id?更新方法重新调整插入行的数量,我想拥有id。感谢您的帮助。 最佳答案 你找到答案了吗?如果没有,请尝试改用SimpleJdbcInsert

java - 为什么spring jdbcTemplate batchUpdate逐行插入

我有20万行要插入到一个数据库表中。我尝试在Spring使用jdbcTemplate.batchUpdate以便每批插入10,000个。但是,此过程会消耗太多时间(20万行需要7分钟)。所以在数据库方面,我检查了selectcount(*)fromtable_X插入的行数。我发现行数略有增加,而不是预期的10K。任何人都可以解释是什么原因还是应该在数据库端配置的东西?PS:我用的是sybase.... 最佳答案 网上有很多可用的方法。性能直接取决于你写的代码您正在使用的JDBC驱动程序您正在使用的数据库服务器和连接数表索引导致插入缓

java - 'source code does not match the bytecode' 使用IDEA调试JdbcTemplate

当我使用IDEA调试JdbcTemplate源码时,IDE提示:'Sourcecodedoesnotmatchthebytecode'截图:我使用mvn来管理我的项目;我的mavenpom配置是:org.springframeworkorg.springframework.orm3.0.5.RELEASE 最佳答案 如果您有多个依赖项,而这些依赖项本身具有相同依赖项的不同版本,也会发生这种情况。JetBrains网站上的这篇文章展示了如何在首选项中启用备用源切换器。https://intellij-support.jetbrains

java - 使用 JdbcTemplate 的分页查询

我目前正在做一个迁移项目,将数据从旧数据库迁移到新数据库(请不要问我为什么要为此通过Java应用程序,这是客户需要的)。我现在正在更新一些初始代码。我正在改变的一件事是使用Spring的JdbcTemplate而不是那里的样板代码。不幸的是,我还没有找到在JdbcTemplate上执行分页查询的方法,类似于旧代码:Statementstatement=getConnection().createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);statement.setFetchDirection(Res

java - 在每个查询中实例化一个新的 JdbcTemplate 还是在所有地方注入(inject)一个更好?

我有一个Java库,我可以在其中使用Spring的JDBC支持通过JDBC访问数据库。这个库包含大约一个DAO类,用于我需要访问的每个表,超过一百个。目前,每次我需要执行新查询时,我都会实例化一个新的JdbcTemplate或其变体之一。这被认为是好的做法还是我应该尽可能多地重用一个JdbcTemplate?实际上,我已经在书籍或在线文档中看到了这两种方法的示例。上下文是一个J2EE应用程序,但理想情况下代码应该可以在不同的上下文中使用,例如在离线测试或命令行支持工具中。 最佳答案 注入(inject)一个,何苦实例化?(不清楚您的

java - 方法可能无法在检查异常时清理流或资源 -- FindBugs

我正在使用SpringJDBCTemplate访问数据库中的数据并且它工作正常。但是FindBugs在我的代码片段中指出了一个小问题。代码:publicStringcreateUser(finalUseruser){try{finalStringinsertQuery="insertintouser(id,username,firstname,lastname)values(?,?,?,?)";KeyHolderkeyHolder=newGeneratedKeyHolder();jdbcTemplate.update(newPreparedStatementCreator(){publ