MyBatis——Mapper.xml映射文件中常用元素


SQL映射文件常用元素:
      1.select
        属性: id 在命名空间内唯一标识
               parameterType 将传入该select语句的参数类型的完全限定名或别名
               resultType 该条select语句将要返回的类型的完全限定名或别名
               resultMap 外部resultMap的命名引用,不可和resultType同时使用
               flushCache 设置为true时,则在任何时候只要语句被调用,都会导致本地缓存和二级缓存都被清空,默认为false。
               useCache 设置为true时,将会导致本条语句的结果被二级缓存,默认为true
               timeout 驱动程序等待数据库返回请求结果的秒数,默认值为unset(依赖驱动)
               fetchSize 尝试影响驱动程序每次批量返回的结果行数和这个设置值相等,默认为unset(依赖驱动)
               statementType 值为STATEMENT、PREPARED、CALLABLE。默认值为PREPARED
               resultSetType 结果集的类型,值为FORWARD_ONLY、SCROLL_SENSITIVE、SCROLL_INSENSITIVE。默认为unset(依赖驱动)
               databaseId 如果配置了databaseIdProvider,MyBatis会加载所有不带databaseId或匹配当期databaseId的语句,若带或不带的语句都有,则不带的会被忽略。
               resultOrdered
               resultSets 仅对多结果集使用,将列出语句执行后返回的结果集并给每个结果集一个名称,名称用逗号分隔。
       2.insert、3.update、4.delete
        特有属性: useGeneratedKeys 仅对insert和update有用,使MyBatis使用getGeneratedKeys方式获取由数据内部生成的主键,默认为false
                   keyProperty 仅对insert和update有用,唯一标记一个属性,MyBatis会通过getGeneratedKeys的返回值或者通过insert语句的selectKey子元素设置它的键值,默认unset
                   keyColumn 仅对insert和update有用,通过生成的键值设置表中的列名
                   resultType 结果类型
                   order 可以设置为BEFORE或AFTER。若设置为BEFORE,会首先选择主键,设置keyProperty然后执行插入语句。若设置为AFTER,先执行插入语句,然后是selectKey元素
                   statementType 值为STATEMENT、PREPARED、CALLABLE,分别对应Statement、PreparedStatement、CallableStatement。默认值为PREPARED
      5.sql 可被其它语句引用的可重用语句块
        例如:<sql id="userColumns">${alias}.id</sql>语句可以包含到下面语句中:
              <select id="selectUsers" resultType="map">
                select <include refid="userColumns"><property name="alias" value="t1"/></include>
                from some_table t1
              </select>
      6.cache 给定命名空间的缓存配置
       
       7.cache-ref 其它命名空间缓存配置的引用

      8.resultMap 用来描述如何从数据库结果集中加载对象
          
    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM