问题标签 [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 投票
8 回答
15472 浏览

java - 简单的 jdbc 包装器

为了在我们的应用程序中实现数据访问代码,我们需要一些框架来包装 jdbc(ORM 不是我们的选择,因为可扩展性)。

我曾经使用过的最酷的框架是Spring-Jdbc。但是我公司的策略是避免外部依赖,尤其是spring,J2EE等。所以我们正在考虑写自己的手办jdbc框架,功能类似于Spring-jdbc:行映射,错误处理,支持java5的特性,但没有事务支持。

有没有人有编写这样的 jdbc 包装器框架的经验?如果有人有使用其他 jdbc 包装器框架的经验,请分享您的经验。

提前致谢。

0 投票
3 回答
15173 浏览

java - Spring JdbcTemplate 和线程

JdbcTemplate在 Swing 中使用 a 分叉线程以执行插入是否安全?

这是一个日志事件,我尽可能不希望它影响感知性能。

0 投票
2 回答
3772 浏览

java - 如何在 IoC 容器外进行简单的 Spring JDBC 事务?

我正在处理的项目在其所有样板荣耀中使用直接 JDBC 数据访问,并且不使用任何事务。我觉得使用事务和简化数据访问方法的编写方式很重要,尤其是当前正在进行一些更改。该项目已经存在了很长一段时间,不适合 ORM 框架。它还使用了很多单例(呃),并且解开它以使其能够使用依赖注入将是相当多的工作,我认为我无法说服任何人我们现在应该这样做。

我喜欢 Spring JDBC 的接口,特别是通过它的SimpleJdbcTemplate. 我的问题是如何为此启用一些简单的(每个 servlet 请求)事务,而无需在每个数据访问方法中以编程方式设置任何内容或使用 Spring IoC 容器或 AOP。我玩弄了自己的架构,最终得到一个类似于 's 的接口,并且当在请求的上下文中调用它时(通过 a和 a )SimpleJdbcTemplate,可以使用单个请求本地连接和事务。它似乎工作得很好,但我认为使用像 Spring JDBC 这样的好的外部库会更好。ServletRequestListenerThreadLocal

有人对此有经验吗?

0 投票
4 回答
7861 浏览

java - postgresql 查询中的大结果集

我正在对 postgresql 数据库中的表运行查询。数据库位于远程计算机上。该表有大约 30 个使用 postgresql分区功能的子表。

该查询将返回一个大的结果集,大约 180 万行。

在我的代码中,我使用 spring jdbc 支持,方法JdbcTemplate.query,但我的RowCallbackHandler没有被调用。

我最好的猜测是 postgresql jdbc 驱动程序(我使用版本 8.3-603.jdbc4)在调用我的代码之前将结果累积到内存中。我认为fetchSize 配置可以控制这一点,但我试过了,没有任何改变。我按照 postgresql 手册的推荐这样做了。

当我使用 Oracle XE 时,此查询运行良好。但是我正在尝试迁移到 postgresql,因为分区功能在 Oracle XE 中不可用。

我的环境:

  • PostgreSQL 8.3
  • Windows Server 2008 企业版 64 位
  • JRE 1.6 64 位
  • 春天 2.5.6
  • Postgresql JDBC 驱动程序 8.3-603
0 投票
6 回答
224805 浏览

java - Spring - @Transactional - 在后台发生了什么?

我想知道当你用 注释方法时实际发生了@Transactional什么?当然,我知道 Spring 会将该方法包装在 Transaction 中。

但是,我有以下疑问:

  1. 我听说 Spring 创建了一个代理类有人可以更深入地解释这一点。该代理类中实际存在什么?实际课程会发生什么?以及如何查看 Spring 创建的代理类
  2. 我还在 Spring 文档中读到:

注意:由于这种机制是基于代理的,只有通过代理传入的“外部”方法调用才会被拦截。这意味着“自调用”,即目标对象中的一个方法调用目标对象的某个其他方法,即使调用的方法标有@Transactional

来源:http ://static.springsource.org/spring/docs/2.0.x/reference/transaction.html

为什么只有外部方法调用将在事务下而不是自调用方法?

0 投票
1 回答
7696 浏览

java - SimpleJdbcTemplate 和空参数

我以下列方式使用 SimpleJdbcTemplate 和 MapSqlParameterSource:

typeId( which is a Long) isnull时,查询如下所示:

而我希望它会产生

我已经报告了这个问题,得到的回应是

您必须根据查询参数提供适当的 SQL 语句。

因此,我的代码中充斥着空检查。

有没有更优雅的方式来处理发送到的空参数SimpleJdbcTemplate

0 投票
2 回答
4972 浏览

oracle - 使用没有结果集的 JDBC Spring 读取 BLOB

我有一个在输出参数中返回 BLOB 的 Oracle 存储过程:

我想使用 JDBC Spring 来读取这些数据。但是,DefaultLobHandler(我认为是 OracleLobHandler)getBlobAsBytes() 需要一个结果集。

当我只有一个输出参数而不是结果集时,如何获取 blob 数据?

0 投票
3 回答
13688 浏览

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

我们使用JdbcTemplate通过 Spring config 配置的 Spring,如下图所示。有没有办法在不注入数据源的情况下做到这一点?我想以JdbcTemplate编程方式创建实例并使用TheOracleDS.

我们当前的配置:

Java 类

弹簧配置

Oracle 数据源配置


更新:我问这个的原因是我不完全相信依赖注入/让 Spring 管理 bean..

0 投票
3 回答
12539 浏览

java - 从 spring SimpleJdbcTemplate 获取所有表名的列表

有没有办法使用 Spring 的 SimpleJdbcTemplate 获取数据库中所有表名的列表?

如果有任何帮助,被查询的数据库是 Oracle。谢谢。

0 投票
2 回答
5827 浏览

java - 具有类层次结构的 Spring JDBC RowMapper

我想知道社区认为关于使用 Spring JDBC 映射类层次结构的“最佳实践”。

我们没有能力使用成熟的 ORM 工具,但是我们正在使用 Spring JDBC 来减轻 JDBC 的一些繁琐性质。我们经常使用的一类是 BeanPropertyRowMapper,因为它易于使用,并且能够从我们的结果集中访问类型不敏感的 bean 属性。

我有一个类层次结构,它都映射回单个表(对这个小类层次结构采用 table-per-hiearchy 方法)。因此,该表包含一个 classId 列,可用于确定应实际实例化的类。前任。1 = 经理,2 = 员工,3 = 承包商。所有这些都是“人”,但每个人的子类都有一些属性是他们的类所独有的。

我最初的想法是创建一个 BeanPropertyRowMapper 的子类并尝试注入这个逻辑来表示“如果列 A = 1 然后实例化一个 Manager,然后进行正常绑定”。

这看起来是一种合理的方法吗?人们是否有其他对您有用的建议?