Spring调用存储过程

public Boolean bindCard(final BindCardProfile bindCardProfile) throws DataAccessException {
        if (bindCardProfile == null) {
            return false;
        }

        String dbReturn = jdbcTemplate.execute(new CallableStatementCreator() {

            @Override
            public CallableStatement createCallableStatement(Connection con) throws SQLException, DataAccessException {
                // TODO Auto-generated method stub
                String stroedProc = "CALL sp_bind_card(?, ?, ?, ?, ?, ?, ?)";
                CallableStatement callableStatement = con.prepareCall(stroedProc);
                callableStatement.setString("p_cellphone", bindCardProfile.getCellphone());
                callableStatement.setString("p_name", bindCardProfile.getName());
                callableStatement.setString("p_id_card", bindCardProfile.getIdCard());
                callableStatement.setString("p_bank_card_no", bindCardProfile.getBankCardNo());
                callableStatement.setString("p_channel_name", bindCardProfile.getChannelName());
                callableStatement.setString("p_bank_abbr", bindCardProfile.getBankAbbr());
                callableStatement.registerOutParameter("p_returnVal", Types.NVARCHAR);
                return callableStatement;
            }
        }, new CallableStatementCallback<String>() {
            public String doInCallableStatement(CallableStatement callableStatement)
                    throws SQLException, DataAccessException {
                callableStatement.execute();
                return callableStatement.getString("p_returnVal");
            }
        });

        return dbReturn.equals("success");
    }

1 在类中使用Spring管理对象时,同时又用Spring对象实例话另一个对象时,注意其位置,如下面的代码,这样定义时会Error,会出现空的指针,具体可能在初始化对象时,和Spring的先后顺序有关

//@Repository
public class CacheKeyManager {

    @Resource(name="stringRedisTemplate")
    private RedisTemplate<String, String> redisTemplate;
    **RedisSerializer<String> stringSerializer=redisTemplate.getStringSerializer();**
    }
时间: 2024-11-03 17:00:41

Spring调用存储过程的相关文章

Spring调用Oracle存储过程的结果集

oracle 对于高级特性总是与众不同(我极力讨厌这一点,如果使用它的产品就要对这种产品进行特定的编程,这也是我从不看好weblogic之类的平台的原因),大对象存取一要定用它自己的LOB对象,所幸我还能通过LONG RAW来代替.以便能使程序不需要特定的编码.但对于存储过程(我是说返回结果集的存储过程),我还没有什么方法能用一个通用的程序来处理ORACLE.太多的教材或文章在讲存储过程的调用只是不负责任地简单执行一些涵数或无结果返回的存储过程,使大多数读者根本不知道到底如何调用存储过程的结果集

Spring中如何实现插入数据后调用存储过程,且在同一事务里,如何证明。

问题描述 Spring中如何实现插入数据后调用存储过程,且在同一事务里,如何证明.Spring是如何管理事务的,我在插入后如何自动提交的. 解决方案 解决方案二:<propertyname="sqlMapClientTemplate"ref="sqlMapClientTemplate"></property>DAO中使用的这个对应的beanxml是<beanid="sqlMapClientTemplate"class

spring中调用存储过程

springframework.jdbc.object.StoredProcedure是对应存储过程调用的操作对象,它通过其父类org.springframework.jdbc.object.SqlCall获得相应的底层API支持(CallableStatementCreator),然后在此基础之上构建了调用存储过程的执行方法. StoredProcedure是抽象类,所以需要实现相应子类以封装对特定存储过程的调用,还记得我们在讲解JdbcTemplate调用存储过程时候定义的存储过程吗? CR

测试spring的存储过程

存储过程 测试spring的存储过程spring对存储过程进行封装.它的实现细节与jdbc类似 下面进行测试 1):写存储过程执行类:package jdbc;import java.sql.Types;import java.util.HashMap;import java.util.Map;import javax.sql.DataSource;import org.springframework.jdbc.core.SqlParameter;import org.springframewo

struts2+spring2.0+ibatis调用存储过程。

问题描述 我现在的做的项目是struts2+spring2.0+ibatis的,以前一直用Hibernate,对ibatis不熟.现在要频繁的调用一批存储过程.我有个问题,不理解.struts2+spring2.0+ibatis的系统,可以配置了既可以用ibatis又可以用jdbc吗我发觉jdbc调用存储过程比较简单,但是如果是在现有系统中不用spring的事务管理,自己在代码里写个链接jdbc的代码,很多存储过程要频繁打开,关闭连接,性能肯定不行.所以想问问,有什么方法,比如,ibatis直接

CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s

问题描述 CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s $this -> db -> reconnect(); $mysqli = new mysqli(); $mysqli -> query(""SET NAMES utf8""); if (mysqli_connect_errno()) { printf('Connect failed: %s ' mysqli_connect_error()); e

C# 调用存储过程

下面以调用:Sql Server 分页存储过程为例 调用代码如下: string MyConn = "server=数据库服务器Ip;uid=数据库用户名;pwd=密码;database=数据库名称;Trusted_Connection=no"; SqlConnection MyConnection = new SqlConnection(MyConn); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new

ASP调用存储过程源码示例

ASP调用存储过程源码示例 以下是代码:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%     Set conn = CreateObject("ADODB.Connection")     strCon = "Provider=SQLNCLI;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=Nor

解析在ASP.NET中调用存储过程的方法

在使用.NET的过程中,数据库访问是一个很重要的部分,特别是在B/S系统的构建过程中,数据库操作几乎成为了一个必不可少的操作.调用存储过程实现数据库操作使很多程序员使用的方法,而且大多数的程序员都是能使用存储过程就使用存储过程,很少直接使用SQL语句,所以存储过程是很有用而且很重要的. 存储过程简介 简单的说,存储过程是由一些SQL语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用.它的参数可以被传递和返回.与应用程序中的函数过程类似,