spring是如何对Service进行事务管理的?
spring是如何对Service进行事务管理的?
OS:windows 2003 Server Web Server: jakarta-tomcat-5。0。28 DataBase Server: MS SQL Server 2000 (打了SP3补丁) IDE: Eclipse 3。
2。0+MyEclipse 5。0GA 测试案例系统结构: web层Service层DAO层 web层使用struts 1。1,DAO使用的spring的JDBC,spring版本1。2 数据库中有两张表: student1和Student2,表结构相同:id,name,address.其中id为主键且为自增长型。
student1表中有一条记录: id name address 1 xiaoming wuhan student2表中记录为空 测试情形一: web层捕获异常并处理,DAO层不捕获异常,Service也不捕获异常. Service层接口: public interface StudentManagerService { public void bus_method(); } DAO层接口 public interface StudentDAO { public void deleteStudent1(); public void insertStudent2(); } StudentDAO接口的实现: public class StudentDAOImp extends JdbcDaoSupport implements StudentDAO{ //删除student1表中的id=1的记录 public void deleteStudent1(){ JdbcTemplate jt=this。
getJdbcTemplate(); jt。update("delete from student1 where id=1"); } //将student1表中删除的记录插入到student2中,但是此方法实现有错,因为 //id字段设置为自增长的,所以在插入记录时我们不能指定值 public void insertStudent2(){ JdbcTemplate jt=this。
getJdbcTemplate(); String arg[]=new String[3]; arg[0]="1"; arg[1]="xiaoming"; arg[2]="wuhan"; jt。update("insert student2(id,name,address) values(?,?,?)",arg); } } StudentManagerService 接口的实现: public class StudentManagerServiceImp implements StudentManagerService{ private StudentDAO stdDAO; public void setStdDAO(StudentDAO stdDAO){ this。
stdDAO=stdDAO; } //此方法为事务型的:删除student1中的记录成功且插入student2的记录也成功, //如果insertStudent2()方法执行失败,那么deleteStudent1()方法也应该会失败 public void bus_method(){ this。
stdDAO。deleteStudent1(); this。stdDAO。insertStudent2(); }。
答:你都没有声明为抽象事物,怎么能够继承呢?需要 <bean id="abstractTxDefinition" class="org.springframe...详情>>
问:同事ip:10.101.107.28 我的IP:10.101.104.23我们在...
答:你们公司是WINDOWS域环境吗,如果是的话,你在网上邻居里应该能看到对方的主机。让她把文件夹共享出来就可以。 如果不是WINDOWS域,那得看你们是不是在一个...详情>>
问:数据结构顺序表的建立,可定义顺序表 #define maxnum elemtyp...
答:打开VC ,然后点击新建,出来界面之后选择Win32 Console Application并输入工程的名称和选择项目的位置,然后出现“一个空工程”,在点击“...详情>>