mybatis的设置

来源:互联网 发布:易企cms怎么换模板 编辑:程序博客网 时间:2024/05/20 17:41
    <settings>

        <setting name="cacheEnabled" value="true"/>

        <setting name="lazyLoadingEnabled" value="true"/>

         <setting name="multipleResultSetsEnabled" value="true"/>

         <setting name="useColumnLabel" value="true"/>

         <setting name="useGeneratedKeys" value="false"/>

         <setting name="enhancementEnabled" value="false"/>

         <setting name="defaultExecutorType" value="SIMPLE"/>

         <setting name="defaultStatementTimeout" value="25000"/>

     </settings>
说明:

cacheEnabled           这个配置使全局的映射器启用或禁用 true | false                  true

                       缓存。

lazyLoadingEnabled     全局启用或禁用延迟加载。当禁用时, true | false                 true

                       所有关联对象都会即时加载。

aggressiveLazyLoading   当启用时,有延迟加载属性的对象在被 true | false                true

                       调用时将会完全加载任意属性。否则,

                       每种属性将会按需要加载。

multipleResultSetsEnabled 允许或不允许多种结果集从一个单独 true | false               true

                        的语句中返回(需要适合的驱动)。

useColumnLabel         使用列标签代替列名。不同的驱动在这 true | false                 true
                       方便表现不同。参考驱动文档或充分测

                       试两种方法来决定所使用的驱动。

useGeneratedKeys       允许JDBC 支持生成的键。需要适合的 true | false               false

                       驱动。如果设置为true 则这个设置强制
                       生成的键被使用,尽管一些驱动拒绝兼

                       容但仍然有效(比如Derby )。

autoMappingBehavior    指定MyBatis    如何自动映射列到字段/           NONE,       PARTIAL
                       属性。PARTIAL     只会自动映射简单, PARTIAL,

                       没有嵌套的结果。FULL 会自动映射任 FULL

                       意复杂的结果(嵌套的或其他情况)。

defaultExecutorType    配置默认的执行器。SIMPLE 执行器没 SIMPLE,                   SIMPLE

                       有什么特别之处。REUSE  执行器重用 REUSE,

                       预处理语句。BATCH  执行器重用语句 BATCH

                       和批量更新

defaultStatementTimeout 设置超时时间,它决定驱动等待一个数 Any                         Not Set

                       据库响应的时间。                           positive    (null)


    <select

        id=”selectPerson”

        parameterType=”int”

        parameterMap=”deprecated”

        resultType=”hashmap”

        resultMap=”personResultMap”

        flushCache=”false”

        useCache=”true”

        timeout=”10000”

        fetchSize=”256”

        statementType=”PREPARED”

        resultSetType=”FORWARD_ONLY”

        >

        属性                                      描述

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

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

parameterMap          这是引用外部parameterMap  的已经被废弃的方法。使用内联参数

                      映射和parameterType 属性。

----------------------- Page 21-----------------------

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

                      用resultType 或resultMap,但不能同时使用。

resultMap             命名引用外部的resultMap 。返回map 是MyBatis 最具力量的特性,

                      对其有一个很好的理解的话,许多复杂映射的情形就能被解决了。
                      使用resultMap 或resultType,但不能同时使用。

flushCache            将其设置为true,不论语句什么时候被带哦用,都会导致缓存被

                      清空。默认值:false。

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

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

fetchSize             这是暗示驱动程序每次批量返回的结果行数。默认不设置(驱动

                      自行处理)。

statementType         STATEMENT,PREPARED 或CALLABLE 的一种。这会让MyBatis

                      使用选择使用Statement,PreparedStatement 或CallableStatement。

                      默认值:PREPARED。

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

insert,update,delete

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

        id="insertAuthor"

        parameterType="domain.blog.Author"

        flushCache="true"

        statementType="PREPARED"

        keyProperty=""

        useGeneratedKeys=""

        timeout="20000">

    <update

        id="insertAuthor"

        parameterType="domain.blog.Author"

        flushCache="true"

        statementType="PREPARED"

        timeout="20000">

    <delete

        id="insertAuthor"

        parameterType="domain.blog.Author"

        flushCache="true"

        statementType="PREPARED"

----------------------- Page 22-----------------------

        timeout="20000">

        属性                                      描述

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

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

parameterMap         这是引用外部parameterMap        的已经被废弃的方法。使用内联参数

                     映射和parameterType 属性。

flushCache           将其设置为true,不论语句什么时候被带哦用,都会导致缓存被清

                     空。默认值:false。

timeout              这个设置驱动程序等待数据库返回请求结果,并抛出异常时间的最

                     大等待值。默认不设置(驱动自行处理)。

statementType        STATEMENT,PREPARED 或CALLABLE 的一种。这会让MyBatis
                     使用选择使用Statement,PreparedStatement 或CallableStatement。

                     默认值:PREPARED。

useGeneratedKeys      (仅对insert     有用)这会告诉 MyBatis            使用 JDBC      的

                     getGeneratedKeys 方法来取出由数据(比如:像 MySQL  和 SQL
                     Server 这样的数据库管理系统的自动递增字段)内部生成的主键。

                     默认值:false。

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