问题标签 [jdbctemplate]
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.
jdbctemplate - jdbcTemplate 和 Oracle 10
试图做一个插入,我有: jdbcTemplate.update("insert into....", new Object[]{foo.getId(), foo.getName()}) foo.getId() 返回一个 long,并且getName() 一个字符串。我将“NUMBER”作为 Oracle 中的 id 类型,将 varchar2 作为名称字段。
我遇到了 SQLtype 未知问题。update 方法有一个版本,我不必输入 SQL 类型,但我必须,如果是,怎么做?
mysql - 使用 MySQL 的 Spring JDBCTemplate 表锁定
我只是将我们的一个应用程序从纯 JDBC 迁移到 Spring 的 JDBCTemplate。我想知道如何为表创建写锁。我只是执行“LOCK TABLE foo”查询还是在 JDBCTemplate 中有通用的方法来执行此操作?
谢谢!
java - 如何使用 Spring 和 JDBCTemplate 取消长时间运行的查询?
JDBCjava.sql.Statement
类有一个cancel()
方法。这可以在另一个线程中调用以取消当前正在运行的语句。
如何使用 Spring 实现这一目标?我找不到在运行查询时获取对语句的引用的方法。我也找不到类似取消的方法。
这是一些示例代码。想象一下,这需要 10 秒才能执行,有时根据用户的请求,我想取消它:
我将如何修改它以便引用一个java.sql.Statement
对象?
jdbc - 如何在 SimpleJdbcTemplate 上设置QueryTimeout?
Spring 框架有两个相似的类:JdbcTemplate 是旧的 Java 1.4 类,而 SimpleJdbcTemplate 是较新的,具有更好的方法。
JdbcTemplate 有一个方法setQueryTimeout,它基本上让我可以访问在底层 Statement 对象上具有相同名称的方法。
有没有办法用SimpleJdbcTemplate做类似的事情?
解决方案:根据 skaffman 的回答,我SimpleJdbcTemplate
自己从 a 创建对象JdbcTemplate
,所以现在我可以做任何我想做的事情。代码:
有点拗口,但完成了工作。
更新:这确实比必要的复杂。看答案。
java - 如何有效地使用 Spring 的 JDBCTemplate 执行 IN() SQL 查询?
我想知道是否有更优雅的方式来使用 Spring 的 JDBCTemplate 进行 IN() 查询。目前我做这样的事情:
这是相当痛苦的,因为如果我有九行仅用于构建 IN() 查询的子句。我想要类似准备好的语句的参数替换
java - 将 JDBCTemplate 与 Hibernate SessionFactory 一起使用?
我们有一个 Spring/Hibernate 应用程序,出于性能和开发时间的原因,希望添加少量 JDBC。我可以使这个 dao 子类 HibernateDaoSupport 并使用会话的连接来执行我的 JDBC,但我宁愿使用 JdbcTemplate。然而,JdbcTemplate 是使用 java.sql.Datasource 初始化的。如何使用我现有的 Hibernate SessionFactory 来初始化它?
mysql - 确保 MySQL 键的唯一性
我有一个 MySQL DB,其中一个键(一个字符串)是从第三方源读取的。但是,这些并不总是保证是唯一的(它们是电影片名)。因此,我需要检查键的唯一性,如果不是唯一的,则对其进行修改以使其唯一 - 例如,通过在键的末尾添加增量计数。
这样做的最佳模式是什么?我目前有一个表,它存储从第 3 方收到的每个密钥并存储一个计数,所以我这样做:
我正在使用 jdbcTemplate 和 keyHolder 来检索新(或更新)行的 ID。问题是我还需要恢复计数。我现在当然可以进行第二次查询 (SELECT) 以获取具有该 ID 的记录。但是这里的问题是并发性。有可能(尽管不太可能),在我执行 SELECT 之前发生另一个具有相同第三方密钥的 INSERT。在这种情况下,计数将第二次增加,我会得到错误的计数。
有任何想法吗?
谢谢理查德。
java - postgresql 中的 JdbcTemplate 批量更新 - 日期丢失时间?
我正在插入java.util.date
格式为YYYY-MM-DDThh:mm:ssTZD
( 2008-09-26T14:34:59+02:00
) 的对象列表。
SQL:
插入 cdate (key,valuedate,user_id) VALUES(?,?,?)
日期格式正确,但在 PostgreSQL 中它只是这样保存:“ 2008-09-26 00:00:00+02
”
编辑:我之前很着急......我没有提供足够的信息,抱歉。
java - 使用 NamedParameterJdbcTemplate 更新数组字段
dblArrayFld
我在表中有一个双精度数组字段myTable
,我想使用 Spring 更新它NamedParameterJdbcTemplate
(我正在使用 Postgres)。
我正在运行这样的代码:
这将返回一个错误,在“$2”处或附近读取语法错误
我假设我在 :myarray 上的语法在这里有问题。我还尝试过:myarray
以下方式进行封装:
dblArrayFld={:myarray}
dblArrayFld={ :myarray }
dblArrayFld=[:myarray]
dblArrayFld=ARRAY[:myarray]
dblArrayFld=(:myarray)
这里的正确语法是什么?
java - Java 编程 - Spring 和 JDBCTemplate - 使用查询、queryForList 还是 queryForRowSet?
我的 Java (JDK6) 项目使用Spring和JDBCTemplate进行所有数据库访问。我们最近从 Spring 2.5 升级到 Spring 3 (RC1)。该项目不使用像Hibernate或EJB这样的 ORM 。
如果我需要读取一堆记录,并对它们进行一些内部处理,似乎有几种(重载)方法:query、queryForList 和 queryForRowSet
使用一个而不是另一个的标准应该是什么?有性能差异吗?最佳实践?
您能否推荐一些外部参考资料以进一步研究该主题?