一、 实验目的
1、掌握Spring JDBC的配置;
2、掌握JdbcTemplae类中增删改查方法的使用;
3、了解Spring事务管理的3个核心接口;
4、了解Spring事务管理的两种方式;
5、掌握基于XML和Annotation的声明式事务管理的使用。
二、 实验内容
1、在MySQL中创建以下三张表,其中account为账户表,book为书籍信息表,book_stock为书籍库存表。
(1)使用Spring JDBC实现书店的购书过程,即有如下一个BookShopDao接口,编写BookShopDaoImp类实现该接口中的所有方法,并通过JUnit测试这些方法。
public interface BookShopDao
{
//根据书号获取书的单价
//jdbcTemplate.queryForObject(sql, Double.class, isbn);rowMapper
public double findBookPriceByIsbn(String isbn);
//更新书的库存,使书号对应的库存减num,若库存不足,则给出提示,并且不更新
public void updateBookStock(String isbn, int num);
//更新用户的账户余额:使 username 的 balance – price*num,若余额不足,则给出提示,并且不更新
public void updateUserAccount(String username,double price,int num);
}
(2) 在BookShopDao中添加一个purchase购书方法,其操作流程是获取书的单价->买书(更新库存)->更新账户余额,在BookShopDaoImp中实现该方法,并使用基于XML和Annotation的声明式事务管理来确保该购书过程能正常执行(这时(1)中的方法都不需进行合法性判断,直接存储数据库),通过JUnit对该方法进行测试。
1