一.常用属性

 举例:

<select id="selectPerson" parameterType="int" resultType="hashmap">
    SELECT * FROOM PRESON WHERE ID = #{id}
</select>

 属性配置实例

<select
  id="selectPerson"
  parameterType="int"
  parameterMap="deprecated"
  resultType="hashmap"
  resultMap="personResultMap"
  flushCache="false"
  useCache="true"
  timeout="10"
  fetchSize="256"
  statementType="PREPARED"
  resultSetType="FORWARD_ONLY">

 属性 描述 id 在命名空间中唯一的标识符,可用来引用这条语句 parameterType 将会传入这条语句的参数类的完全限定名或别名。这个属性是可选的,因为mybatis可以通过类型处理器(TypeHandler)推断出具体传入语句的参数,默认值为未设置(unset) resultType 从这条语句中返回其期望类型的类的完全限定名或者别名。注意如果返回的是集合,那应该设置为集合包含的类型,而不是集合的本身。可以使用resultType或者resultMap,但不能同时使用。 resultMap 外部resultMap的命名引用。结果集的映射是mybatis最强大的特性,如果你对其理解透彻,许多复杂的情形都能迎刃而解。可以使用resultMap或resultType,但是不能同时使用。 flushCache 将其设置为true后,只要语句被调用,都会导致本地缓存和二级缓存被清空,默认值为false userCache 将其设置为true后,将会导致本条语句的结果会被二级缓存缓存下来,默认值为true timeout 这个设置是在抛出异常之前,驱动程序等待数据库返回请求结果的秒数,默认值为未设置(unset)依赖驱动 fetchSize 这是一个给驱动的提示,尝试让驱程序每次批量返回的结果数和这个设置值相等。默认值为未设置(unset)依赖驱动 statementType STATEMENT,PREPARED或者CALLABLE中的一个。这个会让mybatis分别使用Statement,PreparedStatement或CallableStatement,默认值为:PREPARED。 resultSetType FORWARD_ONLY,SCROLL_SENSITIVE.SCROLL_INSENSITICE或DEFAULT中的一个,默认值为unset databaseId 如果配置了数据库厂商标识,mybatis会加载所有的不带databaseId或匹配当前的databaseId的语句;如果带或者不带的语句都有,则不带的会被忽略。 resultOrdered 这个设置仅针对嵌套结果select语句:如果为true,就是假设包含了嵌套结果集或是分组,这样的话当返回一个主结果的时候,就不会发生有对前面结果集的引用情况。这就使得在获取嵌套的结果集的时候不至于导致内存不够用。默认值为:false resultSets 这个设置仅对多结果集的情况使用。它将列出语句执行后返回的结果集并给每个结果集一个名称,名称是逗号分隔的。