Tag: spring jdbc

存储过程将多个表返回到spring jdbc模板

Iam使用JdbcTemplate从我的Spring DAO类调用存储过程。 我的问题是,存储过程返回多个表。 有没有办法使用Spring JdbcTemplate访问多个表。 如果我使用jdbcTemplate.queryForList(myStoredProc, new Object[]{parameters}只从结果中获取第一个表。 我的数据库是SQL Server 2005。 除了jdbcTemplate之外,还有其他方法可以满足我的要求。 如果是,请告诉我。 提前致谢….

Spring JdbcTemplate – 插入blob并返回生成的密钥

从Spring JDBC文档中,我知道如何使用JdbcTemplate插入blob final File blobIn = new File(“spring2004.jpg”); final InputStream blobIs = new FileInputStream(blobIn); jdbcTemplate.execute( “INSERT INTO lob_table (id, a_blob) VALUES (?, ?)”, new AbstractLobCreatingPreparedStatementCallback(lobhandler) { protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException { ps.setLong(1, 1L); lobCreator.setBlobAsBinaryStream(ps, 2, blobIs, (int)blobIn.length()); } } ); blobIs.close(); 以及如何检索新插入行的生成密钥 : KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplate.update( new PreparedStatementCreator() […]

Spring的存储过程 – 从过程返回的结果始终为空

我正在使用Spring的JdbcTemplate和StoredProcedure类。 我无法让存储过程类为我工作。 我在oracle数据库上有一个存储过程。 它的签名是 CREATE OR REPLACE PROCEDURE PRC_GET_USERS_BY_SECTION (user_cursor OUT Pkg_Types.cursor_type , section_option_in IN Varchar2 , section_in IN Varchar2) AS …. 哪里 TYPE cursor_type IS REF CURSOR; 我已创建以下存储过程类以从oracle过程获取信息 private class MyStoredProcedure extends StoredProcedure { public MyStoredProcedure(JdbcTemplate argJdbcTemplate) { super(argJdbcTemplate, “PRC_GET_USERS_BY_SECTION”); declareParameter(new SqlOutParameter(“output”, OracleTypes.CURSOR)); declareParameter(new SqlParameter(“input1”, Types.VARCHAR)); declareParameter(new SqlParameter(“input2”, Types.VARCHAR)); compile(); } public Map execute() […]

如何在Spring + JDBC中配置关闭自动提交?

我使用Spring和JDBC,发现它是自动提交。 如何配置在spring-servlet.xml中将其关闭? 这是我目前的配置:

在简单的示例项目中更改Spring框架日志级别?

在遵循这个 Spring示例时,我希望看到这样的输出: Creating tables Inserting customer record for John Woo Inserting customer record for Jeff Dean … 相反,我在每一行之间散布了一些DEBUG日志消息: Creating tables 12:31:16.474 [main] DEBUG osjdbc.core.JdbcTemplate – Executing SQL statement [drop table customers if exists] 12:31:16.484 [main] DEBUG osjdbc.datasource.DataSourceUtils – Fetching JDBC Connection from DataSource 12:31:16.484 [main] DEBUG osjdSimpleDriverDataSource – Creating new JDBC Driver Connection to [jdbc:h2:mem] […]

使用spring jdbc时,清理外部长(+20行sql)的方法?

我想在我的应用程序中将一些大型查询外部化到properties \ sql \ xml文件中。 但是我想知道是否有人提出如何以干净的方式实现这一目标的一些建议。 大多数结果建议使用ORM框架,但由于某些数据限制,这不适用。 我看了一下: Java – 在一个外部文件中存储SQL语句,但是为一些查询执行这个属性名.1,.2等,每个查询都要长20行看起来不干净。

HSQL数据库用户缺少权限或对象未找到错误

我试图使用hsqldb-2.3.4从Spring应用程序连接。 我使用以下详细信息创建了数据库 Type : HSQL Database Engine Standalone Driver: org.hsqldb.jdbcDriver URL: jdbc:hsqldb:file:mydb UserName: SA Password: SA 我在“MYDB”模式下创建了一个名为ALBUM的表 在spring配置文件中: 在我的spring控制器中,我正在做jdbcTemplate.query(“SELECT * FROM MYDB.ALBUM”, new AlbumRowMapper()); 它给了我例外: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT * FROM MYDB.ALBUM]; nested exception is java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: ALBUM org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) […]