zoukankan      html  css  js  c++  java
  • 记录一次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   

  • 相关阅读:
    SpringBoot与quartz集成
    SpringBoot 中使用 @Valid 注解 + Exception 全局处理器优雅处理参数验证
    搭建Redis集群和MySQL主从同步
    scanf_s读取键盘输入字符串失败
    含有通配符*的字符匹配(C语言)
    人之患
    TCP socket编程记录(C语言)
    程序变量命名规范(个人)
    h lib dll文件相关部分
    关于inet_ntop、inet_pton中的n和p分别代表的意义
  • 原文地址:https://www.cnblogs.com/tfgzs/p/4505852.html
Copyright © 2011-2022 走看看