Dao类
import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import com.crud.interfac.IEmpDAO;
import com.crud.mapping.RowMapping;
import com.crud.vo.Emp;
public class EmpDAO implements IEmpDAO {
JdbcTemplate jdbcTempl;
public void setDataSource(DataSource dataSource){
this.jdbcTempl=new JdbcTemplate(dataSource);
}
@Override
public void doCreate(Emp emp) throws Exception {
String sql="INSERT INTO emp(empNo,empName,job,hiredate,sal,comm) values(?,?,?,?,?,?)";
this.jdbcTempl.update(sql,new Object[]{emp.getEmpNo(),emp.getEmpName(),emp.getJob(),emp.getSal(),emp.getComm()},new int[]{java.sql.Types.NUMERIC,java.sql.Types.VARCHAR,java.sql.Types.VARCHAR,java.sql.Types.NUMERIC,java.sql.Types.NUMERIC});
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd ">
<!-- 配置数据源 -->
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriverr">
</property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:Ora"></property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
<!-- 配置事务管理器 目标对象-->
<bean id="dsManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 将Struts交给Spring管理 -->
<!-- 采用aop管理事务 -->
<!-- 定义事务通知 -->
<tx:advice id="dsAdvice" transaction-manager="dsManager">
<tx:attributes>
<!-- 定义事务的边界 -->
<!--
never: 不开启事务
not-supported : 如果没有事务运行正常,如果有事务抛出异常
support : 如果有事务运行则使用当前事务,如果没有就不开启新事务,正常运行
required: (最常用)如果有事务运行则使用当前事务,如果没有就开启新事务
requires_new: 如果有事务运行把当前的事务挂起,开启新事务;如果没有就开启新事务
NESTED: (慎用) 有hibernate进行扩展,依赖于数据库的实现。支持 sql server, oracle 。。
-->
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
<!-- spring的依赖注入技术-->
<bean id="iempdao" class="com.crud.dao.EmpDAO">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="iempService" class="com.crud.service.EmpService">
<property name="iempdao" ref="iempdao"></property>
</bean>
<bean id="OperAction" class="com.crud.action.OperAction">
<property name="iempService" ref="iempService"></property>
</bean>
</beans>