三、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 的语句;如果带和不带的语句都有,则不带的会被忽略。 |