您的位置:首页 > 移动开发

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

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



元素的属性见下表:

属性
描述
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的简单例子:



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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息