記錄一次Spring boot 搭建框架連接Mysql數據庫注解事務不回滾的故障


搭建了一個新框架,使用了spring boot 替換以簡化原來繁雜的spring配置,使用Spring注解管理事務,持久層使用mybatis。

連接mysql數據庫完成項目的過程中發現不支持事務,因為用的新框架自己本身也不是很了解,剛開始一直以為是自己的框架搭建的有問題,

后來發現是mysql數據庫引擎的問題

 

解決方案

        MyISAM不支持事務,InnoDB支持事務

  1. 先檢查你的mysql版本 ,mysql 4.0系列之前是不支持事務的。    SELECT VERSION();
  2. 檢查你的數據庫支持哪些引擎                                                   show engines;
  3. 查詢當前數據庫默認的引擎                                                      show variables like '%storage_engine%';
  4. 看某個表用了什么引擎                                                             show create table 表名;
  5. 修該表的存儲引擎的方法
    1. 修改配置文件my.cnf,在[mysqld]最后添加為上default-storage-engine=InnoDB,重啟數據庫服務,數據庫默認的引擎修改為InnoDB
    2. 建表的時候指定                         create table t_user(  id int primary key,name varchar(50) ) engine=InnoDB;

    3. 建完表后修改                             alter table 表名稱 ENGINE = InnoDB;

    4. 批量生成某個庫的的修改引擎語句,執行生成的這些語句即可

      SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') FROM information_schema.tables WHERE table_schema='數據庫的名稱' AND ENGINE='myisam';

本文出自 “騰飛工作室” 博客,請務必保留此出處  http://www.cnblogs.com/tfgzs/p/4505852.html   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM