Spring框架教程
Spring IOC控制反转
Spring AOP面向切面编程
Spring集成MyBatis
Spring事务
Spring与Web

Spring事务环境搭建实例

举例:购买商品trans_sale项目

本例要实现购买商品,模拟用户下订单,向订单表添加销售记录,从商品表减少库存。

实现步骤:

Step0:创建数据库表

创建两个数据库表sale , goods

sale 销售表

goods 商品表

goods表数据

Step1: maven依赖 pom.xml

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.9</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.12</version>
        </dependency>
    </dependencies>
<build>
    <resources>
      <resource>
        <directory>src/main/java</directory><!--所在的目录-->
        <includes><!--包括目录下的.properties,.xml文件都会扫描到-->
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>

    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
 </build>

Step2:创建实体类

创建实体类Sale与Goods

Step3:定义dao接口

定义两个dao的接口SaleDao , GoodsDao

Step4:定义dao接口对应的sql映射文件

SaleDao.xml

GoodsDao.xml

Step5:定义异常类

定义service层可能会抛出的异常类NotEnoughException

Step6:定义Service接口

定义Service接口BuyGoodsService

Step7:定义service的实现类

定义service层接口的实现类BuyGoodsServiceImpl

● 类定义

● Dao属性

● Buy方法

Step8:修改Spring配置文件内容

声明Mybatis对象

声明业务层对象

Step9:定义测试类

定义测试类MyTest。现在就可以在无事务代理的情况下运行了。

全部教程