资料内容:
其中属性:
id:在命名空间中唯一的标识符,即你给这条sql语句取的唯一标识符,可以被用来引用这条语句。
parameterType:将会传入这条语句的参数类的完全限定名或别名。这个属性是可选的,因为
MyBatis 可以通过类型处理器(TypeHandler) 推断出具体传入语句的参数,默认值为未设置 。即传入
参数的类型。注意是完全限定名或者是别名,其他名称mybatis不认识。
parameterMap:被弃用,甚至会被移除,不做研究
resultType:从这条语句中返回的期望类型的类的完全限定名或别名。 注意如果返回的是集合,
那应该设置为集合包含的类型,而不是集合本身。可以使用 resultType 或者 resultMap,但不能同时使
用。 即返回参数类型,同样是完全限定名或别名,如上文说过,不论返回的是一个Student对象还是多
个,返回类型都是Student的全类名(entity.Student)或者别名。
resultMap:外部 resultMap 的命名引用。结果集的映射是 MyBatis 最强大的特性,如果你对其
理解透彻,许多复杂映射的情形都能迎刃而解。可以使用 resultMap 或 resultType,但不能同时使用。
后文会详细介绍该属性。
flushCache:将其设置为 true 后,只要语句被调用,都会导致本地缓存和二级缓存被清空,默认
值false。
timeout:这个设置是在抛出异常之前,驱动程序等待数据库返回请求结果的秒数。默认值为未设
置(依赖驱动)。
fetchSize:这是一个给驱动的提示,尝试让驱动程序每次批量返回的结果行数和这个设置值相等。
默认值为未设置(依赖驱动)。
statement:TypeSTATEMENT,PREPARED 或 CALLABLE 中的一个。这会让 MyBatis 分别使用
Statement,PreparedStatement 或 CallableStatement,默认值:PREPARED。
resultSetType:FORWARD_ONLY,SCROLL_SENSITIVE, SCROLL_INSENSITIVE 或 DEFAULT(等
价于 unset) 中的一个,默认值为 unset (依赖驱动)。 TYPE_FORWORD_ONLY:只可向前滚动;
TYPE_SCROLL_INSENSITIVE:双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在
ResultSet中反应出。TYPE_SCROLL_SENSITIVE:双向滚动,并及时跟踪数据库的更新,以便更改
ResultSet中的数据。
databaseId:如果配置了数据库厂商标识(databaseIdProvider),MyBatis 会加载所有的不带
databaseId 或匹配当前 databaseId 的语句;如果带或者不带的语句都有,则不带的会被忽略。(不
懂,放在之后考虑)
resultOrdered:这个设置仅针对嵌套结果 select 语句适用:如果为 true,就是假设包含了嵌套结
果集或是分组,这样的话当返回一个主结果行的时候,就不会发生有对前面结果集的引用的情况。 这就
使得在获取嵌套的结果集的时候不至于导致内存不够用。默认值:false。