码迷,mamicode.com
首页 > 编程语言 > 详细

Spring---声明式事务管理

时间:2017-10-13 23:52:55      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:manage   nsa   efault   alter   执行   img   tor   管理器   ota   

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

  (2)在表建成之后

    ALTER TABLE table_name type = INNODB

  (3)在创建表的时候

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

  

Spring---声明式事务管理

标签:manage   nsa   efault   alter   执行   img   tor   管理器   ota   

原文地址:http://www.cnblogs.com/duanjiapingjy/p/7663580.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!