1、select 元素有很多属性允许你配置,来决定每条语句的作用细节。

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

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

parameterMap=”deprecated” (已废弃)

resultType=”hashmap” 从这条语句中返回的期望类型的类的完全限定名或别名。注意集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用resultType或resultMap,但不能同时使用。

resultMap=”personResultMap” 命名引用外部的resultMap。返回map是MyBatis最具力量的特性,对其有一个很好的理解的话,许多复杂映射的情形就能被解决了。使用 resultMap 或 resultType,但不能同时使用。

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

useCache=”true” 将其设置为 true,将会导致本条语句的结果被缓存。默认值: true。

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

fetchSize=”256” 这是暗示驱动程序每次批量返回的结果行数。默认不设置(驱动自行处理)。
statementType=”PREPARED” STATEMENT,PREPARED 或 CALLABLE 的一种。这会让 MyBatis使用选择使用 Statement, PreparedStatement 或 CallableStatement。默认值: PREPARED。

resultSetType=”FORWARD_ONLY” FORWARD_ONLY|SCROLL_SENSITIVE|SCROLL_INSENSITIVE中的一种。默认是不设置(驱动自行处理)。
>

2、数据变更语句 insert, update 和 delete 在它们的实现中非常相似:

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

parameterType="domain.blog.Author"  将会传入这条语句的参数类的完全限定名或别名。

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

statementType="PREPARED"  STATEMENT,PREPARED 或 CALLABLE 的一种。这会让 MyBatis使用选择使用 Statement, PreparedStatement 或CallableStatement。默认值: PREPARED。

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

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

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