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

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

2017-01-22 00:00 561 查看
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语句可以修改为:



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