java ssm使用存储过程_java调用oracle存储过程(ssm)

存储过程对于程序维护有诸多便利,以下即是java调用的Oracle存储过程的一种简单的方法。

jdbc.properties:

#################### 服务名连接 ########################

jdbc.driver1=oracle.jdbc.driver.OracleDriver

jdbc.url1=jdbc:oracle:thin:@localhost:1521:wei

jdbc.user1=user

jdbc.password1=password

#################### 实例名连接 #######################

jdbc.driver2=oracle.jdbc.driver.OracleDriver

jdbc.url2=jdbc:oracle:thin:@//localhost:1521/wei

jdbc.user2=user

jdbc.password2=password

spring的配置文件:配置c3p0连接池

在mapper.xml中调用存储过程时,要声明参数的类型,时输入参数还是输出参数:

{call ORACEL_WEI.SELECT_ALL(

#{NAME,mode=IN,jdbcType=VARCHAR},

#{CURSOR, mode=OUT,jdbcType=CURSOR} )}

解析存储过程返回的结果:

public static List> resultSet(Map map,String cursor) throws SQLException {

ResultSet rs;

ResultSetMetaData rsmd;

int numberOfColumns;

Map resultMap = new HashMap();

List> list = new ArrayList>();

rs = (ResultSet) map.get("CURSOR");

rs.clearWarnings();

rsmd = rs.getMetaData();

numberOfColumns = rsmd.getColumnCount();

while (rs.next()) {

resultMap = new HashMap(numberOfColumns);

for (int r = 1; r <= numberOfColumns; r++) {

resultMap.put(rsmd.getColumnName(r), rs.getObject(r));

}

list.add(resultMap);

}

rs.close();

return list;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值