Spring-JdbcTemplate

本文详细介绍了如何在Spring框架下利用WebLogic数据源配置事务操作,通过JdbcTemplate执行存储过程,并获取返回结果。文章涵盖Bean配置、JdbcDaoSupport类的应用以及如何实现对数据库存储过程的调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JdbcTemplate事务操作:

 


<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="数据源JNDI名字" />//weblogic
</bean>

<bean id="sysCommon" class="..SysCommon"
factory-method="getInstance">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>

或者:
<bean id="xxdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>

JdbcDaoSupport:已有属性org.springframework.jdbc.core.JdbcTemplate jdbcTemplate;

public final  class SysCommon extends JdbcDaoSupport {
private static SysCommon sysDb = new SysCommon();
public static SysCommon getInstance() {
  if (SysCommon == null) {
   SysCommon = new SysCommon();
  }
  return SysCommon;
 }
}


获得:
JdbcTemplate template = SysCommon.getInstance().getJdbcTemplate();
final Long id = (Long) list.get(0);//传入参数值

Object obj = template.execute(new ConnectionCallback(){

//执行存储过程
public Object doInConnection(Connection conn) throws SQLException, DataAccessException {

CallableStatement cstmt = conn.prepareCall("{ call 存储过程所在包.存储过程名(?,?,?,?) }");
cstmt.setLong(1, id.longValue());
cstmt.registerOutParameter(2, Types.VARCHAR);
cstmt.registerOutParameter(3, Types.VARCHAR);
cstmt.registerOutParameter(4, Types.VARCHAR);
cstmt.execute();
String id = cstmt.getString(2);// id
String name = cstmt.getString(3);
List rtn = new ArrayList();
if(id != null && id.length()>0){
rtn.add(id);
rtn.add(name);

}
cstmt.close();
return rtn;
}
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值