MyBatis事务管理

mybatis-config.xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--属性文件配置-->
    <properties resource="db.properties"></properties>
    <!--默认使用id="mysql1"的environment-->
    <environments default="mysql1">
        <!--环境配置一-->
        <environment id="mysql1">
            <!--事务管理配置-->
            <transactionManager type="JDBC"/>
            <!--数据源配置-->
            <dataSource type="POOLED">
                <property name="driver" value="${mysql1.driver}"/>
                <property name="url" value="${mysql1.url}"/>
                <property name="username" value="${mysql1.username}"/>
                <property name="password" value="${mysql1.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--这里的resource对应上一步自动生成的mapping/UserinfoMapper.xml文件-->
        <mapper resource="mapping/UserinfoMapper.xml"/>
    </mappers>
</configuration>

这里transactionManager有两种方式

<transactionManager type="JDBC"/>
or
<transactionManager type="MANAGED"/>

JDBC方式:需要程序员使用显式代码进行事务的管理,也就是说程序员必须要调用SqlSession对象的commit()方法才会更改数据库。
MANAGED方式:不用程序员手动管理事务。每执行一条SQL语句后,事务进行自动提交。

注意:MySQL表的类型必须是INNODB才支持事务

MySQL查看表类型语法:

show table status from 数据库名

MySQL修改表类型语法:

alter table 表名_ENGINE=innodb
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。