import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.CallableStatementCallback;
import org.springframework.jdbc.core.CallableStatementCreator;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
import com.qeweb.redants.dao.ISequenceDao;
public class SequenceDaoImpl extends SimpleJdbcDaoSupport implements
ISequenceDao {
Log log = org.apache.commons.logging.LogFactory
.getLog(SequenceDaoImpl.class);
public String findSequence() {
String result = (String) getJdbcTemplate().execute(
new ProcCallableStatementCreator(),
new ProcCallableStatementCallBack());
log.info("new material Code:" + result);
return result;
}
class ProcCallableStatementCreator implements CallableStatementCreator {
public CallableStatement createCallableStatement(Connection connection)
throws SQLException {
String proc_name = "{call proc_sequence(?)}";
CallableStatement callableStatement = connection
.prepareCall(proc_name);
callableStatement.registerOutParameter(1, java.sql.Types.VARCHAR);
return callableStatement;
}
}
class ProcCallableStatementCallBack implements CallableStatementCallback {
public Object doInCallableStatement(CallableStatement callableStatement)
throws SQLException, DataAccessException {
callableStatement.execute();
String seq = callableStatement.getString(1);
return seq;
}
}
}
分享到:
相关推荐
【第四课:RPC与JDBC调用拦截1】 在分布式系统中,RPC(Remote Procedure Call)框架如Dubbo是服务间通信的重要工具。本课程主要关注Dubbo的发送请求拦截和JDBC调用拦截,旨在增强系统监控和性能分析能力。 ### 1....
Spring Boot JDBC是Spring框架的一个重要组成部分,它简化了在Java应用程序中使用JDBC(Java Database Connectivity)进行数据库操作的方式。Spring Boot的设计理念是“约定优于配置”,因此它为开发者提供了开箱即...
本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...
Spring的 JDBC模块则可以帮助开发者更方便地与数据库进行交互,包括调用存储过程。 Ibatis,作为一个轻量级的持久层框架,与传统的ORM(对象关系映射)工具相比,提供了更大的灵活性。在调用存储过程时,Ibatis允许...
在给出的“简单的存储过程.txt”文件中,可能包含了一个示例存储过程的定义和如何通过JDBC调用它的Java代码。例如,一个存储过程可能用于插入数据: ```sql CREATE OR REPLACE PROCEDURE insert_user ( p_username...
Remoting部分则涉及到远程方法调用(Remote Method Invocation,简称RMI)和远程过程调用(Remote Procedure Call,简称RPC),以及如何在Spring中实现它们。 总的来说,Spring开发指南是对Spring框架从基础到高级...
本文将详细介绍如何在Spring中使用JDBC API,包括存储过程的调用和基本SQL语句的应用。 首先,使用Spring的JdbcTemplate类是执行SQL操作的核心。JdbcTemplate类负责处理所有与数据库的通信,包括打开和关闭连接、...
4. **远程服务调用(Remote Procedure Call,RPC)**:Spring支持RMI(远程方法调用)和其他远程服务调用机制,如HTTP Invoker,使得分布式系统间的通信变得更加便捷。 5. **Web服务支持(Web Services)**:Spring...
它可能包含一个方法,该方法通过JDBC调用存储过程,处理业务逻辑,然后返回响应给前端。 - `TimestampPropertyEditor.java`: 这可能是自定义的JavaBeans PropertyEditor,用于处理Oracle的TIMESTAMP类型。因为Java...
在Java中,尤其是使用Spring框架时,我们可以借助JDBC或ORM(对象关系映射)工具如Hibernate来调用这些存储过程。 在Spring中,调用存储过程通常通过`JdbcTemplate`或`NamedParameterJdbcTemplate`类来实现。对于...
- **数据访问集成**:Spring支持多种持久化策略,如JDBC、ORM(Hibernate、MyBatis)等,提供事务管理功能。 2. **Google Web Toolkit (GWT)**: - **编译器**:GWT将Java代码编译成优化过的JavaScript,可以在...
Oracle JDBC 支持调用数据库中的存储过程。这可以通过`CallableStatement`对象实现。 示例代码: ```java String sql = "{ CALL test_procedure(?, ?) }"; CallableStatement cstmt = conn.prepareCall(sql); cstmt...
MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索,使得数据库操作更加简洁、高效。 3. **Dubbo**:Dubbo是阿里巴巴开源的高性能服务治理框架,主要用于实现服务间的远程调用。它支持RPC(Remote ...
Java的JDBC API尽管功能强大,但在实际应用中显得较为底层且复杂,因此业界出现了多种技术来增强其功能,如EJB、JDO、Hibernate、Toplink(来自Oracle)、iBATIS、SQLExecutor以及Spring框架提供的JDBC支持等。...
尽管在现代Java企业应用中,Spring框架下的远程调用技术(如Spring Remoting)和各种微服务架构(如Spring Cloud)逐渐流行,但Java RMI因其简单和直接性,在某些场景下依然有着不可替代的作用。
- **Spring-GWT-RPC**:GWT的Remote Procedure Call (RPC)机制可以与Spring的AOP和DI集成,实现服务端的Spring Bean作为GWT RPC的服务端点。这样,客户端可以直接调用服务端的业务逻辑,而无需关心服务的实现细节。...