useGeneratedKeys此属性会使MyBatis 使用JDBC 的getGeneratedKeys()方法来获取由数据库内部生产的主键,其默认值为flase
时间: 2024-06-04 20:09:47 浏览: 36
是的,你说得对。`useGeneratedKeys`属性是用来指定是否使用JDBC的`getGeneratedKeys()`方法来获取由数据库内部产生的主键,而不是通过sql语句手动指定主键值。如果设为`true`,则表示需要使用这种方式获取主键值;否则,就需要在sql语句中手动指定主键值。默认情况下,该属性的值为`false`,即不使用自动生成主键的方式。
相关问题
以下有关MyBatis映射文件中<insert>元素说法正确的是()。 A、<insert>元素用于映射插入语句,在执行完元素中定义的SQL语句后,没有返回结果 B、<insert>元素的属性与<select>元素的属性相同 C、keyColumn属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置 D、useGeneratedKeys(仅对insert有用)此属性会使MyBatis使用JDBC的getGeneratedKeys()方法来获取由数据库内部生产的主键
正确答案是A、<insert>元素用于映射插入语句,在执行完元素中定义的SQL语句后,没有返回结果。
B选项是错误的,<insert>元素的属性与<select>元素的属性不同,<insert>元素的属性包括id、parameterType、timeout、flushCache、statementType、useGeneratedKeys、keyProperty、keyColumn等。
C选项是错误的,keyColumn属性用于设置主键在数据库表中的列名,而不是第几列是主键。
D选项是部分正确的,useGeneratedKeys属性确实可以用于插入语句,使MyBatis使用JDBC的getGeneratedKeys()方法来获取由数据库内部生成的主键,但不仅适用于insert,也适用于update和delete语句。
阅读全文