Tag: spring jdbc

postgresql查询的大ResultSet

我正在对postgresql数据库中的表运行查询。 数据库位于远程计算机上。 该表包含大约30个使用postgresql 分区function的子表。 查询将返回一个大的结果集,大约180万行。 在我的代码中,我使用spring jdbc支持,方法JdbcTemplate.query ,但我的RowCallbackHandler没有被调用。 我最好的猜测是postgresql jdbc驱动程序(我使用版本8.3-603.jdbc4)在调用我的代码之前在内存中累积结果。 我认为fetchSize配置可以控制它,但我尝试了它,没有任何改变。 我做了这个postgresql手册推荐 。 当我使用Oracle XE时,此查询工作正常。 但是我正在尝试迁移到postgresql,因为分区function在Oracle XE中不可用。 我的环境: Postgresql 8.3 Windows Server 2008 Enterprise 64位 JRE 1.6 64位 spring2.5.6 Postgresql JDBC Driver 8.3-603

使用简单的jdbc调用将数组作为输入参数传递给oracle存储过程

这是我的oracle程序规范 CREATE OR REPLACE PACKAGE PKG_RE_FI AS PROCEDURE PRC_RE_FI_DETAILS(P_FAN_NO IN VARCHAR2, P_REF_ID IN TY_APP_REF_ID, P_COMMENTS IN VARCHAR2, P_BILLING_FLAG IN VARCHAR2, P_STATUS OUT VARCHAR2); END PKG_RE_FI; TY_APP_REF_ID是 CREATE OR REPLACE TYPE ty_app_REF_ID as varray(500) of obj_array_ref_id CREATE OR REPLACE TYPE obj_array_ref_id AS OBJECT( app_ref_id VARCHAR2(100) ) 我使用Spring JDBC Framework(SimpleJdbcCall对象)来执行上述过程。 下面是我声明的代码片段 this.reFIJdbcCall = new SimpleJdbcCall(dataSource).withCatalogName(“PKG_RE_FI”). withProcedureName(“PRC_RE_FI_DETAILS”).declareParameters(new SqlParameter(“P_FAN_NO”, […]

尝试传递自定义oracle类型对象映射时,名称模式无效

Java spring自定义Oracle类型作为参数并获得以下错误。 我不明白无效名称模式是什么意思? 任何帮助赞赏。 org.springframework.jdbc.UncategorizedSQLException: ### Error updating database. Cause: java.sql.SQLException: invalid name pattern: UPSELL.mkt_list_tab ### The error may involve com.comcast.upsell.dao.ProviderAndRegionalDao.getCorpsToMarketsList-Inline ### The error occurred while setting parameters ### SQL: call upsell_tx_etl_report.GET_OFFER_CORPS_TO_MARKETS( ?, ?, ? ) ### Cause: java.sql.SQLException: invalid name pattern: MY_SCHEMA.mkt_list_tab ; uncategorized SQLException for SQL []; SQL state [99999]; error code [17074]; […]

Spring JDBC + Postgres SQL + Java 8 – 从/到LocalDate的转换

我正在使用Postgres SQL 9.2,Spring JDBC 4.0.5版和Java 8。 Java 8引入了新的日期/时间API,我想使用它,但是我遇到了一些困难。 我创建了表TABLE_A: CREATE TABLE “TABLE_A” ( new_date date, old_date date ) 我正在使用Spring JDBC与数据库进行通信。 我创建了Java类,它对应于这个表: public class TableA { private LocalDate newDate; private Date oldDate; //getters and setters } 这是我的代码,它可以插入新行: public void create(TableA tableA) { BeanPropertySqlParameterSource parameterSource = new BeanPropertySqlParameterSource(tableA); final String sql = “INSERT INTO public.TABLE_A (new_date,old_date) values(:newDate,:oldDate)”; […]

如何使用Spring的JdbcTemplate连接到一个简单的MySql数据库?

我试图使用Spring的JdbcTemplate类连接到基于本教程的简单MySql数据库。 实际上,我使用了他们的项目设置: 的pom.xml 4.0.0 test jdbc-test 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-parent 1.2.2.RELEASE org.springframework.boot spring-boot-starter org.springframework spring-jdbc mysql mysql-connector-java org.projectlombok lombok 1.14.8 provided org.springframework.boot spring-boot-maven-plugin Lombok依赖是针对getter和setter的。 然后是Application类: package test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.jdbc.core.JdbcTemplate; @SpringBootApplication public class Application implements CommandLineRunner { public static void main(String args[]) { SpringApplication.run(Application.class, args); } @Autowired JdbcTemplate jdbcTemplate; […]

如何使用NamedParameterJDBCTemplate中的字符串列表来获取结果

尝试使用Spring-JDBC。 我用这个作为参考。 我正在尝试获得具有相同姓氏的演员列表。 运行此代码给了我想要的结果: public List getActorsWithSameLastName(String lastName, NamedParameterJdbcTemplate template) { String query = “SELECT FIRSTNAME FROM ACTORS WHERE LASTNAME=:LASTNAME”; Map paramMap = new HashMap(); paramMap.put(“LASTNAME”, lastName); return template.queryForList(query, paramMap, String.class); } 我有一个姓氏的List 。 如何获得具有列表的演员列表? 我是否遍历姓氏列表并每次调用getActorsWithSameLastName()或者spring是否提供了迭代并为我提取结果的方法? 请指教。

使用Spring JdbcTemplate进行多个数据库操作

我喜欢JdbcTemplate的简单易用性,但是它有点混淆它的工作原理。 似乎每个操作(query()或update())从数据源获取连接并关闭它。 很漂亮,但是如何在同一个连接中执行多个SQL查询? 我可能想要按顺序执行多个操作(例如SELECT后跟一个INSERT后跟一个提交)或者我可能想要执行嵌套查询(SELECT然后根据每行的结果执行第二个SELECT)。 我如何使用JdbcTemplate执行此操作。 我使用合适的class级吗?

简单的jdbc包装器

要在我们的应用程序中实现数据访问代码,我们需要一些框架来包装jdbc(由于可伸缩性,ORM不是我们的选择)。 我以前使用的最酷的框架是Spring-Jdbc 。 但是,我公司的政策是避免外部依赖,特别是spring,J2EE等。所以我们正在考虑编写自己的方便的jdbc框架,function类似于Spring-jdbc:行映射,error handling,java5的支持function,但没有交易支持。 有没有人有编写这样的jdbc包装框架的经验? 如果有人有使用其他jdbc包装器框架的经验,请分享您的经验。 提前致谢。

Spring Security循环bean依赖

我正在研究Vaadin spring应用程序。 我唯一可以说的是,用户的身份validation/授权必须通过jdbcTemplate查询数据库来jdbcTemplate 。 如何解决这个问题? 我正在使用Spring Boot 1.4.2.RELEASE。 Description: The dependencies of some of the beans in the application context form a cycle: ┌─────┐ | jdbcAccountRepository defined in file [repositories\JdbcAccountRepository.class] ↑ ↓ | securityConfiguration.WebSecurityConfig (field services.JdbcUserDetailsServicessecurity.SecurityConfiguration$WebSecurityConfig.userDetailsService) ↑ ↓ | jdbcUserDetailsServices (field repositories.JdbcAccountRepository services.JdbcUserDetailsServices.repository) └─────┘ 原始代码如下所示: AccountRepository: public interface AccountRepository { void createAccount(Account user) throws UsernameAlreadyInUseException; […]

多个一对多关系ResultSetExtractor

假设我有一个具有两个不同的一对多关系的对象。 很像: Customer 1M Brands和Customer 1M Orders 让我们说我的对象Customer有两个与这两个对象相关的列表。 我已经阅读了这个例子: http : //forum.springsource.org/showthread.php?50616-rowmapper -with-one-to-many- query ,它解释了如何使用单一的一对多关系来完成它。 为方便起见,这里是ResultSetExtractor覆盖: private class MyObjectExtractor implements ResultSetExtractor{ public Object extractData(ResultSet rs) throws SQLException, DataAccessException { Map map = new HashMap(); MyObject myObject = null; while (rs.next()) { Integer id = rs.getInt(“ID); myObject = map.get(id); if(myObject == null){ String description = rs,getString(“Description”); […]