博为峰JavaEE技术文章 ——MyBatis Mapper Insert Update Delete

Mapper中的数据变更语句insert,update和delete 非常相似,小博 老师先给大家看一下他们的结构:

博为峰JavaEE技术文章 ——MyBatis Mapper Insert Update Delete_第1张图片

元素的属性见下表:

属性

描述

id

在命名空间中唯一的标识符,可以被用来引用这条语句。

parameterType

将会传入这条语句的参数类的完全限定名或别名。

parameterMap

这是引用外部parameterMap的已经被废弃的方法。使用内联参数映射和parameterType属性。

flushCache

将其设置为true,不论语句什么时候被带哦用,都会导致缓存被清空。默认值:false。

timeout

这个设置驱动程序等待数据库返回请求结果, 并抛出异常时间的最大等待值。默认不设置(驱动自行处理)。

statementType

STA TEMENT,PREPARED或CALLABLE的一种。这会让MyBatis使用选择使用Statement,PreparedStatement或CallableStatement。默认值:PREPARED。

useGeneratedKeys

(仅 对insert有 用)这 会 告 诉MyBatis使 用JDBC的getGeneratedKeys方法来取出由数据(比如:像MySQL和SQL Server这样的数据库管理系统的自动递增字段)内部生成的主键。默认值:false。

keyProperty

(仅对insert有用)标记一个属性,MyBatis会通过getGeneratedKeys或者通过insert语句的selectKey子元素设置它的值。默认: 不设置。

keyColumn

(仅对insert有用)标记一个属性,MyBatis会通过getGeneratedKeys或者通过insert语句的selectKey子元素设置它的值。默认: 不设置。

如下所示,是一个Insert、Update、Delete的简单例子:

博为峰JavaEE技术文章 ——MyBatis Mapper Insert Update Delete_第2张图片

上面的例子中,Insert的时候,把id也设置进去了。如果数据库支持自动生成主键(比如 MySQL 和 SQL Server) ,可以设置 useGeneratedKeys=”true”,而且设置 keyProperty 为经做好的目标属性上。例如,如果上面的 Boweifeng表已经把 id 列设置为自增长,那么Insert语句可以修改为:

你可能感兴趣的:(博为峰JavaEE技术文章 ——MyBatis Mapper Insert Update Delete)