当前位置:首页 > Mybatis3操作手册使用教程
属性 描述
parameterType parameterMap resultType
传给此语句的参数的完整类名或别名 废弃
语句返回值类型的整类名或别名。注意,如果是集体, 那么这里填写的是集合的项的整类名或别名,而不是集 合本身的类名。resultType 与resultMap 不能并用 如果设为true,则会在每次语句调用的时候就会清空缓 存。select 语句默认设为false
如果设为true,则语句的结果集将被缓存,select 语句默 认设为false
设置驱动器在抛出异常前等待回应的最长时间,默认为 不值,由驱动器自己决定
设置一个值后,驱动器会在结果集数目达到此数值后, 激发返回,默认为不值,由驱动器自己决定
STATEMENT,PREPARED 或CALLABLE 中的任意一个,这就告诉MyBatis 分别使用Statement,
PreparedStatement或者CallableStatement。默认:PREPARED
( 仅限insert ) 告诉MyBatis 使用JDBC 的
getGeneratedKeys 方法来获取数据库自己生成的主键(MySQL、SQLSERVER 等关系型数据库会有自动生成的字段)。默认:false ( 仅限insert ) 标识一个将要被MyBatis 设置进getGeneratedKeys 的key 所返回的值,或者为insert 语句使用一个selectKey 子元素。
如果配置了databaseIdProvider,MyBatis将会在没有
flushCache
useCache
timeout
fetchSize
statementType
useGeneratedKeys
keyProperty
databaseId
属性 描述
databaseId或者databaseId与当前匹配时加载所有的语句。如果存在相同的语句后者会被删除。
keyColumn
(仅限insert)设置使用自动生成的键值、不是第一列的列名。这个属性只有某种特定的数据库(如PostgreSQL)需要
databases (like) when the key column is not the first column in the table.
下面是一些insert,update,delete 语句的示例:
关于insert 需要多说几句,它会有一些更多的属性有子元素,用来可以使用多种方式生成主键处理。
首先,如果你使用的数据库支持自动生成主键,那么你就可以设置useGeneratedKeys=”true”,然后把keyProperty 设成对应的列,就搞定了。比如说上面的Author 使用auto-generated 为id 列生成主键,语句 可以修改如下:
MyBatis 还有另外一种方式来处理在数据库不支持自动生成主键的情况来生成主键,或者是为JDBC 驱动不能自动生成主键的情况下生成主键。
下面简单的示例一下如果生成随机的ID,也许你不需要这么做,仅仅只是演示一下MyBatis 的复杂功能。
属性 描述 keyProperty resultType selectKey 语句生成结果需要设给的目的列 结果类型,MyBatis 通常可以自己检测到,但这并不影响给它一个确实的设定。MyBatis 允许使用基本的数据类型,也包括String 类型。 可以设成BEFORE 或者AFTER,如果设为BEFORE,那它会先选择主键,然后设置keyProperty,再执行insert语句;如果设为AFTER,它就先运行insert 语句再运行selectKey 语句,通常是insert 语句中内部调用数据库(像Oracle)内嵌的序列机制。 像上面的那样, MyBatis 支持STATEMENT,PREPARED和CALLABLE 的语句形式, 对应 Statement,PreparedStatement 和CallableStatement order statementType 属性 描述 响应 4.3 sql 这个元素用来定义一个可以复用的SQL 语句段,供其它语句调用。比如: 这个语句块,可以包含到别的语句中,比如: 从以上所以的语句中,我们都可以看到参数。参数在MyBatis 中非常强大。90%的情况下,都会用到。 比如: 这个示例显示了非常简单的命名参数映射。parameterType 设置为‘int ’,因此参数可以被叫作任何值。 基本的或者是简单的数据类型像Integer 和String 没有相关的属性,因此将为使用全部的参数值。然而,如果你代入一个复合的对象,情况会有所不同。比如:
共分享92篇相关文档