transactionTemplate编程式事务管理例子在我这里执行怎么不回滚?
我也是这个问题,查看表DDL是发现type=MyISAM。总结下有2种解决方案
在建表时指定表引擎
drop table if exists tb_user; create table tb_user( id int primary key auto_increment, username varchar(50), password varchar(32), money int )type=InnoDB;
表引擎修改为InnoDB
alter table tb_user type=InnoDB;
PS:如何修改 mysql 的默认建表引擎?
修改 mysql 配置文件 my.ini,在 [mysqld] 区段加入一行 default-storage-engine=INNODB
[mysqld] ## 默认表引擎的配置 default-storage-engine=INNODB
已找到原因,mysql默认的表类型(引擎)为MyISAM,该类型不支持事务处理,将表类型改为支持事务的InnoDB即可