`
zjx2388
  • 浏览: 1330770 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

SSH中调用存储过程

    博客分类:
  • J2EE
阅读更多

SSH中调用带返回结果集的存储过程:

public class ExecuteProceduresDaoImpl extends JdbcDaoSupport implements ExecuteProceduresDao {   
  public Object Call_prLS_OrderByMemberOrNotMember(final String[] parm) {   
    String procedureSql = "{?=call prLS_OrderByMemberOrNotMember(?,?,?,?,?,?,?,?,?,?)}";   
        return (Object) getJdbcTemplate().execute(procedureSql, new CallableStatementCallback() {   
                    public Object doInCallableStatement(CallableStatement cs)   
                            throws SQLException, DataAccessException {   
                        int j = 2;   
                        cs.registerOutParameter(1, Types.INTEGER);   
                        if (parm != null) {   
                            for (int i = 0; i < parm.length; i++) {   
                                cs.setString(j, parm[i]);   
                                ++j;   
                            }   
                        }   
                        if (cs.execute()) {   
                            ResultSet rs = cs.getResultSet();   
                            while (rs.next()) {   
                                rs.getString(1);   
                                rs.getString(2);   
                                rs.getString(3);   
                            }   
                            return null;   
                        } else {   
                            return cs.getInt(1);   
                        }   
                    }   
                });   
    }   
  
}  

 

SSH中调用带返回值的存储过程:

public class RechargeDAOImpl extends JdbcDaoSupport implements RechargeDAO {
 static int result = -1;
 
 
 public int rechargeCard() {
  String procedureSql = "{? = call sp_pb_addmoney(?,?,?,?,?,?,?,?,?,?,?,?,?)}";
  
  this.getJdbcTemplate().execute(procedureSql, new CallableStatementCallback() {
   
   
   public Object doInCallableStatement(CallableStatement cstmt)
     throws SQLException, DataAccessException {
    cstmt.registerOutParameter(1, java.sql.Types.INTEGER);
    
    cstmt.setInt(2, 2);//dptid
    cstmt.setInt(3, 000002);// sysno;char;6
    cstmt.setString(4, "0100100000006321");//serial;char;16
    cstmt.setDate(5, null);//dealdate;datetime;8;
    cstmt.setInt(6, 100);//bagvalue;money;8
    cstmt.setInt(7, 0);//oldbagvalue;money;8;
    cstmt.setInt(8, 0);//icanorder;int;
    cstmt.setInt(9, 0);//cardtransno;int
    cstmt.setString(10, "0");//operid;varchar
    cstmt.setInt(11, 0);//subappid;int
    cstmt.setDate(12, null);//expiredDate;datetime;8
    cstmt.setString(13, "0");//tac;varchar;8
    cstmt.setInt(14, 1);//@returnv;设置-1,0,1
    
    cstmt.execute();
    result = cstmt.getInt(1);//返回值
    return result;
   }
  });
  return result;
 }
 
}

补充:

继承了JdbcDaoSupport ,需要Spring助于dataSource对象.

配置的例子:

 

<bean id="recharegeDAO" class="com.potevio.quancun.dao.impl.RechargeDAOImpl" scope="singleton">
 <property name="dataSource">
  <ref bean="dataSource"/>
 </property>
</bean>

 

<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" >
	<property name="alias" value="Pool"/>
	<property name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
	<property name="driverUrl" value="jdbc:microsoft:sqlserver://172.16.11.20:1433;user=sa;password=111;DatabaseName=news;SelectMethod=cursor"/>
	<property name="user" value="sa"/>
	<property name="password" value="111"/>
	<property name="houseKeepingSleepTime" value="90000"/>
	<property name="prototypeCount" value="5"/>
	<property name="maximumConnectionCount" value="100"/>
	<property name="minimumConnectionCount" value="10"/>
	<property name="trace" value="true"/>
	<property name="verbose" value="true"/>
</bean>

 

分享到:
评论

相关推荐

    SSH框架引用存储过程的实例(含源代码)

    这个实例项目展示了如何在SSH框架下有效地利用数据库的存储过程来执行对数据表的增删查改(CRUD)操作。SSH框架的集成使得开发者能够更方便地管理和控制业务逻辑,而存储过程则提供了优化数据处理和事务处理的能力。...

    SSH2利用存储过程连接oracle示例

    在本示例中,我们将探讨如何利用SSH2框架来连接Oracle数据库并执行存储过程。 首先,SSH2中的Spring负责管理数据库连接。在Spring配置文件中,你需要定义一个数据源(DataSource),通常使用JDBC驱动来连接Oracle...

    SSH配置过程,介绍SSH的详细配置过程

    根据提供的文件信息,可以看出这里似乎存在一定的混淆,因为文件标题和描述强调的是SSH配置过程,但实际内容却涉及到了Struts2、Spring以及Hibernate等Java Web框架和技术的配置。为了符合您的需求,我将集中讨论SSH...

    SSH连接使用SSH连接到服务器的过程

    SSH连接,使用SSH连接到服务器的过程,

    SSHA.zip_SSHA_java SSHA_ssha加密

    LDAP-SHA与SSHA类似,但在存储时,整个SSHA哈希会被进一步Base64编码,以便在LDAP服务器中存储和检索。 5. **安全注意事项**: - 盐值应足够随机且长度适中,通常8-16字节。 - 不要使用可预测的盐值,如用户名或...

    完整的SSH项目实现过程

    很好的SSH框架实现过程,很好的SSH框架实现过程,很好的SSH框架实现过程,很好的SSH框架实现过程

    ssh框架 ssh框架 ssh框架 ssh框架 ssh框架 ssh框架 ssh框架 ssh框架

    ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ...

    J2SSH(Java SSH API )使用文档

    J2SSH(Java SSH API )使用文档 J2SSH(Java SSH API )使用文档 J2SSH(Java SSH API )使用文档

    乌班图ssh配置过程

    "乌班图ssh配置过程" 在 Ubuntu 系统中, SSH 服务的配置是一个非常重要的步骤,特别是在 Windows 下进行 Linux 开发时。下面将详细介绍 Ubuntu 中 SSH 服务的配置过程。 首先,在 Ubuntu 系统中,需要安装 ...

    SSH.NET-develop.zip_SSH.net_VI1Q_ssh

    "SSH.NET-develop.zip_SSH.net_VI1Q_ssh"这个压缩包很可能是SSH.NET库的一个开发版本或示例代码集合,供开发者学习和使用。 "VI1Q"可能是一个特定的版本标识或者与项目相关的密钥,而"ssh"标签则明确了这个包与SSH...

    ssh集成 ssh集成

    3. **CI/CD系统**:在Jenkins、Travis CI或GitLab CI等CI/CD工具中,SSH集成使得构建和部署过程能自动地与远程服务器交互,比如拉取代码、编译、测试和部署应用程序。 4. **远程服务器管理**:通过SSH,可以集成到...

    OpenSSH登录SSH2

    生成的两个文件分别存储在`~/.ssh`目录下。 - **步骤4**: 将OpenSSH的公钥文件转换成SSH2的公钥文件。执行命令: ``` ssh-keygen -e -f id_rsa.pub &gt; id_rsa_SSH2.pub ``` 命令中的`-e`选项表示对公钥文件进行...

    BvSsh Bitvise SSH Bitvise SSH Client Bitvise SSH service

    SSH是一种网络协议,用于在不安全的网络上安全地执行命令和传输数据,确保通信过程中的数据加密,防止中间人攻击和窃听。 标题中提到的"BvSsh Bitvise SSH"包含两个主要组件:Bitvise SSH Client和Bitvise SSH ...

    ssh框架用struts2 hibernate实现图片的上传源码

    以上就是SSH框架中使用Struts2和Hibernate实现图片上传的主要知识点,涵盖了Web请求处理、ORM框架、文件上传、数据库操作以及前端交互等多个方面。实际项目开发时,还需要结合具体的业务需求和安全规范进行详细设计...

    H3C 5500 ssh登录配置

    H3C 5500 ssh登录配置是一种常用的网络设备登录方式,它通过使用 SSH(Secure Shell)协议来确保数据信息交换的安全。下面是H3C 5500 ssh登录配置的详细过程和相关知识点: 一、 SSH 登录配置的基本概念 * SSH...

    sshshell.zip

    SSH(Secure Shell)是一种网络协议,用于在...掌握SSH的使用方法,无论是基础的命令行登录,还是高级的密钥认证和端口转发,都将极大地提升工作效率和安全性。对于Mac用户来说,熟悉这些技能是日常工作中必要的能力。

    eNSP配置SSH实验

    本实验主要讲解了eNSP配置SSH环境的搭建过程,包括拓扑图的设计、静态路由的配置、Telnet和SSH认证的设置等。 一、拓扑图设计 在本实验中,我们设计了一个简单的拓扑图,包括三个路由器AR1、AR2和AR3,每个路由器...

    ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架

    ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ...

    Node.js-WebSSH2基于Web的SSH2客户端使用xterm.jssocket.io和ssh2实现

    在本项目中,"Node.js-WebSSH2基于Web的SSH2客户端使用xterm.js、socket.io和ssh2实现",我们关注的是构建一个在浏览器环境中运行的SSH2客户端。这个客户端允许用户通过Web界面安全地连接到远程服务器执行命令,从而...

Global site tag (gtag.js) - Google Analytics