本实验旨在通过Spring JDBC框架讲解和实践Java EE开发中数据访问及事务管理技术,深入理解其原理及其应用。
一、实验目的
1. 掌握Spring JDBC的配置;
2. 熟悉JdbcTemplae类中的增删改查方法使用;
3. 了解Spring事务管理的三个核心接口;
4. 明确Spring事务管理的两种方式;
5. 深入掌握基于XML和Annotation的声明式事务管理的应用。
二、实验内容
1. 在MySQL中创建以下三张表,其中account为账户信息表,book为书籍详情表,book_stock表示库存情况。具体步骤如下:
(1) 使用Spring JDBC实现书店购书流程:设计一个BookShopDao接口,并编写其对应的BookShopDaoImp类来完成所有方法的实现与JUnit测试。
```java
public interface BookShopDao {
// 根据ISBN获取书籍单价
public double findBookPriceByIsbn(String isbn);
// 更新库存,减少指定数量(isbn对应),如果库存不足,则提示不更新;
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对此方法进行全面测试。
以上内容为实验的主要任务与目标,请按要求完成相应代码编写和验证工作。