zoukankan      html  css  js  c++  java
  • Spring---声明式事务管理

    1. 声明式事务管理(3步)

    (1)在xml配置文件中声明事务管理器

      <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
          <property name="dataSource" ref="dataSource"></property>
      </bean>

      注:ref="dataSource"中的dataSource是在当前xml文件中配置的数据源

    (2)在xml配置文件中启用事务注解

      <tx:annotation-driven transaction-manager="transactionManager"/>

      注:如果声明的事务管理器的 id="transactionManager" ,则:transaction-manager属性可以省略

      

    (3)在相关方法上添加注解

      @Transactional

    2. 问题

      代码配置都正确,但是事务不能执行成功

      原因:MySQL数据库默认的引擎是MyIASM,MyIASM不支持事务

        查看MySQL的数据库引擎

        mysql> show engines;

      解决:更改MySQL数据库引擎为InnoDB(3种方法)

      (1)修改my.ini配置文件

        在配置文件中添加default-storage-engine=InnoDB

        注意:修改配置文件之后一定要重启MySQL服务

          

      (2)在表建成之后

        ALTER TABLE table_name type = INNODB

      (3)在创建表的时候

        CREATE TABLE table_name(
          id INT PRIMARY KEY,
          NAME VARCHAR(225)
        )type = INNODB

      

  • 相关阅读:
    构建之法读书笔记04
    团队冲刺06
    12.23——周总
    团队冲刺05
    团队冲刺04
    用户场景分析
    团队冲刺03
    返回一个二维数组中最大联通子数组的和
    团队冲刺02
    FFT/NTT基础题总结
  • 原文地址:https://www.cnblogs.com/duanjiapingjy/p/7663580.html
Copyright © 2011-2022 走看看