博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis配置详解
阅读量:6422 次
发布时间:2019-06-23

本文共 3558 字,大约阅读时间需要 11 分钟。

序言

        在Eclipse中,将鼠标放在根节点上后,可以看到配置文件中的主要配置项,如下图所示:

        

        这些项分别是:properties、settings、typeAliases、typeHandlers、plugins、environments、mappers。

        注意:这些配置项必须按照先后顺序进行配置。

一、配置项介绍

        properties:用于配置属性信息。

        settings:用于配置MyBatis的运行时方式。

        typeAliases:配置类型别名,可以在xml中用别名取代全限定名。

        typeHandlers:配置类型处理器。

        plugins:配置拦截器,用于拦截sql语句的执行。

        environments:配置数据源信息、连接池、事务属性等。

        mappers:配置SQL映射文件。

二、配置项详解

(1)properties

        配置properties采用键值对的格式进行配置。

      文件内配置properties

......

      文件外配置properties

        “config.properties”中的内容如下所示:

name1:value1 name2:value2 name3:value2 ...... nameN:valueN

(2)settings

        该项配置格式如下所示:

......

        setting可设置的项相关介绍参见下表:

设置参数 描述 有效值 默认值
cacheEnabled 这个配置使全局的映射器启用或禁用 缓存。 true | false true
lazyLoadingEnabled 全局启用或禁用延迟加载。当禁用时, 所有关联对象都会即时加载。                 This value can be superseded for an specific relation by using the fetchType attribute on it. true | false false
aggressiveLazyLoading 当启用时, 有延迟加载属性的对象在被               调用时将会完全加载任意属性。否则,                每种属性将会按需要加载。 true | false true
multipleResultSetsEnabled 允许或不允许多种结果集从一个单独                 的语句中返回(需要适合的驱动) true | false true
useColumnLabel 使用列标签代替列名。                不同的驱动在这                 方便表现不同。                 参考驱动文档或充分测                 试两种方法来决定所使用的驱动。 true | false true
useGeneratedKeys 允许 JDBC 支持生成的键。                 需要适合的                 驱动。                 如果设置为 true 则这个设置强制                 生成的键被使用,                  尽管一些驱动拒绝兼                 容但仍然有效(比如 Derby) true | false False
autoMappingBehavior 指定 MyBatis 如何自动映射列到字段/                 属性。PARTIAL 只会自动映射简单,                  没有嵌套的结果。FULL 会自动映射任                 意复杂的结果(嵌套的或其他情况)                   。 NONE, PARTIAL, FULL PARTIAL
defaultExecutorType 配置默认的执行器。SIMPLE 执行器没                 有什么特别之处。REUSE 执行器重用                 预处理语句。BATCH 执行器重用语句                 和批量更新 SIMPLE                REUSE                BATCH SIMPLE
defaultStatementTimeout 设置超时时间,                 它决定驱动等待一个数                据库响应的时间。 Any positive integer Not Set (null)
safeRowBoundsEnabled Allows using RowBounds on nested                statements. true | false False
mapUnderscoreToCamelCase Enables automatic mapping from                classic database column names                A_COLUMN to camel case classic Java                property names aColumn. true | false False
localCacheScope MyBatis uses local cache to prevent circular references and speed up repeated nested queries.                 By default (SESSION) all queries executed during a session are cached. If localCacheScope=STATEMENT local session will be used just for                 statement execution, no data will be shared between two different calls to the same SqlSession. SESSION | STATEMENT SESSION
jdbcTypeForNull Specifies the JDBC type for null values when no specific JDBC type was provided for the parameter.                 Some drivers require specifying the column JDBC type but others work with generic values like NULL, VARCHAR or OTHER. JdbcType enumeration. Most common are: NULL, VARCHAR and OTHER OTHER
lazyLoadTriggerMethods Specifies which Object's methods trigger a lazy load A method name list separated by commas equals,clone,hashCode,toString
defaultScriptingLanguage Specifies the language used by default for dynamic SQL generation. A type alias or fully qualified class name. org.apache.ibatis.scripting.xmltags.XMLDynamicLanguageDriver
callSettersOnNulls 当结果集中含有Null值时是否执行映射对象的setter或者Map对象的put方法。此设置对于原始类型如int,boolean等无效。 true | false false
logPrefix Specifies the prefix string that MyBatis will add to the logger names. Any String Not set
logImpl Specifies which logging implementation MyBatis should use. If this setting is not present logging implementation will be autodiscovered. SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING Not set
proxyFactory Specifies the proxy tool that MyBatis will use for creating lazy loading capable objects. CGLIB | JAVASSIST CGLIB

一个设置信息元素的示例,完全的配置如下所示:

 

转载于:https://www.cnblogs.com/writeLessDoMore/p/6971061.html

你可能感兴趣的文章
Vijos 1067Warcraft III 守望者的烦恼
查看>>
SQL语句
查看>>
LinkedList
查看>>
Python number
查看>>
xmpp 环境配置
查看>>
【Lv1-Lesson008】A Guide to Birthdays
查看>>
mysql source 恢复 sql数据time_zone报错 已解决
查看>>
ubuntu 16.04 安装 Matlab R2016b后启动出现的问题
查看>>
MySQL_PHP学习笔记_2015.04.19_PHP连接数据库
查看>>
关于RFC
查看>>
juery 选择器 选择多个元素
查看>>
【新手向】TensorFlow 安装教程:RK3399上运行谷歌人工智能
查看>>
01-学习前说明
查看>>
Oracle Net Configuration(监听程序和网络服务配置)
查看>>
c语言_判断例子
查看>>
ubuntu重启不清除 /tmp 设置
查看>>
面向对象
查看>>
JSON
查看>>
SAP发布wbservice,如果有权限管控的话,需要给这个webservice加权限
查看>>
16.Python网络爬虫之Scrapy框架(CrawlSpider)
查看>>