问题标签 [spring-jdbc]

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.

0 投票
2 回答
451 浏览

java - 在事务下执行只读查询是否有性能损失?

使用基于 Spring AOP 的声明性事务管理将所有方法定义为事务性是否有任何性能损失?请参阅下面的配置。原因是我不知道开发人员会给非事务性方法取什么方法名。一种选择是我从通配符列表开始,如果方法名称不属于定义的列表,开发人员会更新列表。

0 投票
1 回答
4851 浏览

spring - JodaTime 和 BeanPropertySqlParameterSource

情况是这样的:

PostgreSQL 数据库表有一个字段dateAddedtimestamp

Pojo 模型对象将此字段映射为

我的道实现是在 Spring JDBC 模板中,它是这样的:

我从客户端读取模型并使用@Model. 到目前为止一切都很好。当我执行这个时,数据库抛出一个异常说:
[Edit Erwin]:原来异常不是来自数据库。

我不想通过实现完整的 INSERT 语句来手动进行格式化,因为涉及到许多字段。

这里最好的解决方案是什么?toString()有没有办法配置DateTime所有呼叫。我还考虑过从 DateTime 创建一个继承的类,但是...... mmhh .. 这是一个决赛。

--

编辑

根据 Erwin,我通过插入虚拟表测试了 DateTime 值 '2011-10-10T21:55:19.790+03:00' 并且它正在工作。但无法使用 JDBC。与 JDBC 驱动程序有关的东西?

0 投票
3 回答
9452 浏览

java - 覆盖 BeanPropertyRowMapper 以支持 JodaTime DateTime

My Domain 对象有几个 Joda-TimeDateTime字段。当我使用 SimpleJdbcTemplate 读取数据库值时:

患者患者 = jdbc.queryForObject(sql, new BeanPropertyRowMapper(Patient.class), patientId);

它只是失败了,令人惊讶的是,没有记录任何错误。我想这是因为timestamp解析到DateTime不与 Jdbc 一起使用。

如果可以继承和覆盖BeanPropertyRowMapper并指示将所有java.sql.Timestamp和转换java.sql.DateDateTime,那就太好了,并且可以节省很多额外的代码。

有什么建议吗?

0 投票
2 回答
2965 浏览

java - 参数未传递给程序

我在使用 java 的 mssql 服务器中调用过程时遇到问题。我不断收到 org.springframework.jdbc.BadSqlGrammarException

这是我的代码:

堆栈跟踪说没有提供“@KT”,但这是不对的。

知道我在这里做错了什么吗?

这是堆栈跟踪

谢谢

冈劳格

0 投票
1 回答
8535 浏览

java - simpleJdbcTemplate 多行获取

我正在使用SimpleJdbcTemplate从数据库中获取记录列表。每条记录对应一个数据模型对象。我在互联网上搜索了很多,但我仍然无法弄清楚如何使用通用行映射器从数据库中获取多行。

假设我需要获取SampleObj 类型的对象列表。

我将如何定义参数化的行映射器?我将如何获取 SampleObj 类型对象的列表?

每当我尝试创建行映射器时,行映射器的返回类型总是被检测为单个对象而不是列表。请帮忙。

0 投票
2 回答
2293 浏览

java - Spring-JDBC 作为独立库

我有一个不使用 Spring 容器的小应用程序。现在这个应用程序需要访问一个数据库,只是几个小查询,没什么复杂的。虽然我可以使用纯 JDBC 来做到这一点,但我真的很想使用 Spring-JDBC 库。我关心的是它是否可以轻松使用而无需在应用程序中引入太多的 Spring。“太多的 Spring”是指必须创建 Spring 容器、过多的外部库依赖等。请告知。

0 投票
1 回答
1619 浏览

oracle - 使用 PreparedStatementCreator 插入记录(必须在 Oracle 和 PostgreSQL 上运行)

我正在尝试使用 Spring Jdbc Prepared 语句将记录插入表中。此代码必须在 Postgres 和 Oracle 上运行。插入后我需要读取插入的记录键。

我在 Spring 文档 JDBC 章节中找到了以下代码,上面写着“这适用于 Oracle”。
请参阅此处的链接(第 12.2.8 节)。

它可以很好地在 Postgres 上运行,插入记录,我可以使用 keyHolder 读取插入的记录键。但是在 Oracle 上它失败并显示以下错误消息...

[junit] STDOUT [ERROR] [2011.11.04 01:26:04] ..... - 测试......失败。[junit] 消息:PreparedStatementCallback;SQL []; ORA-01400: 无法将 NULL 插入 ("SOME_USER"."SOME_TABLE"."ID") [junit] ;嵌套异常是 java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("SOME_USER"."SOME_TABLE"."ID")

这是代码...

注意:我使用的是ojdbc6.jar(Oracle jdbc jar),commons dbcp jar

这是 applicationContext 数据源 bean

对于表,我在 Postgres 和 Oracle 上都有序列some_table_id_seq。我必须使此代码适用于 Postgres(在开发机器上运行)和 Oracle(在生产上运行)。任何帮助/想法表示赞赏。谢谢你。

0 投票
1 回答
2852 浏览

spring - 回滚已检查和未检查异常的事务

我正在使用 Spring JDBC Template 和 PostgreSQL。以下是我的配置数据源和事务设置:

在我的业务层中,我正在执行以下操作:

类似的东西。我需要的是,每当此方法抛出任何异常(检查或未检查)时,到目前为止执行的所有数据库更新都应该滚动。

当前代码不会发生这种情况。

我实际上错过了什么?

0 投票
1 回答
4383 浏览

spring - Spring 中的 NamedParameterJdbcTemplate (3.0.5.RELEASE)

我正在尝试使用此类,但我似乎无法弄清楚如何限制返回的行。Plain JdbcTemplate 有一个 max row 和 max fetch size setter。有没有办法从 NamedParameterJdbcTemplate 中获得类似的功能?

0 投票
1 回答
381 浏览

java - NamedParameterJdbcTemplate jconnect 十进制问题

我正在使用NamedParameterJdbcTemplate将数据插入表中。(Spring 2.5.3/Java 1.6) 我正在使用 jconnect 驱动程序连接到 sybase jdbc:sybase:Tds:<Server>:<Port>。由于某种原因,十进制值的小数部分被截断。

如果我使用 jtds 驱动程序 ( jdbc:jtds:sybase://<Servername>:<Port>) 使用相同的代码,它工作正常。

我不能使用 jtds,因为其他代码正在使用 jconn。

在 Java 对象中,字段被定义为双精度。在数据库中,字段被定义为浮点数(精确的数字不起作用)。

任何帮助表示赞赏。