开发者社区> kuoren> 正文

Spring调用存储过程

简介: public Boolean bindCard(final BindCardProfile bindCardProfile) throws DataAccessException { if (bindCardProfile == null) { return false; } String dbRetu
+关注继续查看
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();**
    }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Mybatis调用Mysql存储过程
在我的后台系统中,今天需要使用到存储过程。存储过程还真没写过,今天就写了个存储过程。使用在后台中。 其实这个接口功能  是涉及几张表的修改,删除,新增的。就写个一个存储过程。 存储过程: 1 CREATE PROCEDURE `sp_combine_admin_group`(IN `g...
815 0
Spring 5 中文解析数据存储篇-事务同步和声明式事物管理
本章节主要描述:Spring 5 中文解析数据存储篇-事务同步和声明式事物管理。
947 0
C/C++封装库ocicpplib调用Oracle存储过程的方法
工作这么多年,一直使用Mysql, Oracle数据库没有接触过, 这次要使用C/C++语言来调用Oracle的存储过程, 懒得自己去看OCI的API了, 直接上网找别人封装的库, 最后发现了这个ocicpplib, 下载了看了一下, 还不错, 使用起来比较简单。
1170 0
JDBC调用存储过程,以及存储过程 事务的使用.....
在JDBC中调用存储过程 首先就要在数据库中存在 要调用的过程  ,存储过程是一组SQL语句的集合,我们吧实现某一功能的 SQL语句集合在一起来使用,方便了用户,不光是这样,存储过程可以预编译,也就是说只要调用了一次存储过程,那么下次在调用存储过程的时候 就不需要进行再次编译了  。
866 0
VB6.0 调用存储过程
最近有在做一个需求,需要在VB6.0中调用存储过程,整理了一下,供大家参考, 范例: 1 Function callStoredProcedure(sEmployeeID As String, Optional sNotes As String = "") As String 2 On Error GoTo errHand 3 Dim conn As ADODB.
836 0
Spring调用存储过程
public Boolean bindCard(final BindCardProfile bindCardProfile) throws DataAccessException { if (bindCardProfile == null) { return false; } String dbRetu
1186 0
+关注
kuoren
五年互联网金融开发经验;知名互联网P2P平台核心交易自动化开发;常用开发语言Java、C#、Python;熟练Linux命令使用
30
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载