MyBatis 源码学习笔记(二)- MyBatis 进阶(Part B)

三、MyBatis Mapper XML 文件

insert、update、delete 标签

insert、update、delete 标签包含的属性如下:

属性 描述 备注
id 在命名空间中唯一的标识符,可以被用来引用这条语句。 如果命名空间和id组合起来不唯一,会抛出异常
useGeneratedKeys 仅对insert和update有用,这会使MyBatis使用JDBC的generatedKeys方法取出生成的主键,作为插入数据的主键,插入时传参就不需要设置id的值了。默认值:false
keyProperty 标记一个属性,与主键字段对应的实体类属性,MyBatis会将生成的主键的值赋值给该属性,当有多个主键属性时,使用逗号隔开
keyColumn 标记一个主键字段,与keyProperty设置的主键属性一一对应,有多个可以使用逗号隔开
parameterType 传入参数的类型;可以给出类全名,也可以给出类别名,使用别名必须是MyBatis内部定义或自定义的;基本数据类型:int、String、long、date(不知是sql.date 还是 util.date) 复杂数据类型:类 和 Map 可以选择JavaBean,Map等复杂的参数类型传递给SQL
flushCache 将它的作用是在调用SQL后,是否要求MyBatis清空之前查询的本地缓存和二级缓存 true/false,默认为false
timeout 设置超时时间,超时之后抛出异常,秒 默认值为数据库厂商提供的JDBC驱动所设置的秒数
statementType 可选 STATEMENT,PREPARED 或 CALLABLE。这会让 MyBatis 分别使用 Statement,PreparedStatement 或 CallableStatement,默认值:PREPARED。
databaseId 如果配置了数据库厂商标识(databaseIdProvider),MyBatis 会加载所有不带 databaseId 或匹配当前 databaseId 的语句;如果带和不带的语句都有,则不带的会被忽略。

猜你喜欢

转载自juejin.im/post/7112449320913371149