如果对于MySQL的InnoDB引擎的MVCC机制,那么数据肯定是不会敏感的,因为其他事务改了当前事务也看不到。
databaseId
可选标签。数据库厂商id,详细了解,可以点击这里。
resultOrdered
可选标签。这个设置仅针对嵌套结果 select 语句适用。如果为 true,就是假设包含了嵌套结果集或是分组了,这样的话当返回一个主结果行的时候,就不会发生有对前面结果集的引用的情况。这就使得在获取嵌套的结果集的时候不至于导致内存不够用。默认值: false 。
resultSets
可选标签。这个设置仅对多结果集的情况适用,它将列出语句执行后返回的结果集并每个结果集给一个名称,名称是逗号分隔的。
lang
自定义语言,这个我也没用过,所以就不介绍了
insert用来映射插入语句。以下就是一个insert标签的全部二级标签:
<insert
id=“insertLwUser”
parameterType=“lwUser”
parameterMap=“deprecated”
flushCache=“true”
statementType=“PREPARED”
keyProperty=“”
keyColumn=“”
useGeneratedKeys=“”
timeout=“20”
databaseId=“mysql”
lang=“”>
有一些标签和select语句是重复的就不在重复介绍,主要来关注一下其他标签。
useGeneratedKeys
可选标签。配置为true时,MyBatis会使用JDBC的getGeneratedKeys方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段),默认值为false。
keyProperty
可选标签。唯一标记一个属性,MyBatis会将通过getGeneratedKeys 的返回值或者通过insert 语句的selectKey 子元素设置它的键值,默认值是unset 。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表
keyColumn
通过生成的键值设置表中的列名,这个设置仅在某些数据库(像PostgreSQL)是必须的,当主键列不是表中的第一列的时候需要设置。如果希望得到多个生成的列,也可以是
逗号分隔的属性名称列表