一:Configuration.xml配置文件的内容和配置顺序如下

  1. properties(属性)
  2. settings(全局配置参数)
  3. typeAiases(类型别名)
  4. typeHandlers(类型处理器)
  5. objectFactory(对象工厂)
  6. plugins(插件)
  7. environments(环境集合属性对象)mappers(映射器)
    1. environment(环境子属性对象)
    2. transactionManager(事物管理)
    3. datesource(数据源
  8. mappers(映射器)

二:properties属性

作用:将数据连接单独配置在db.properties中,只需要在Configuration.xml中加载db.properties的属性值,在Configuration.xml中就不需要对数据库连接参数进行硬编码。数据库连接参数只配置在db.properties中,方便对参数进行统一管理,其它xml可以引用该db.properties。

db.properties的内容:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root

在Configuration.xml中加载db.properties

 <!-- 加载数据库文件db.properties -->
<properties resource="db.properties"><!-- properties中还可以配置一些属性名和属性值,此处的优先加载 --><!-- <property name="driver" value=""/> --></properties><!-- 和spring整合后 environments配置将废除--><environments default="development"><environment id="development"><!-- 使用jdbc事务管理,事务控制由mybatis管理--><transactionManager type="JDBC" /><!-- 数据库连接池,由mybatis管理--><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments>

properties特性:

注意:

  • 在properties元素体内定义的属性优先读取。
  • 然后读取properties元素中resource或url加载的属性,它会覆盖已读取的同名属性。
  • 最后读取parameterType传递的属性,它会覆盖已读取的同名属性

建议:

不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。

在properties文件中定义属性名要有一定的特殊性,如xxxx.xxxx(jdbc.driver)

三:settings全局参数配置

mybatis框架运行时可以调整一些运行参数。比如,开启二级缓存,开启延迟加载等等。全局参数会影响mybatis的运行行为。

官方文档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="autoMappingBehavior" value="PARTIAL"/><setting name="defaultExecutorType" value="SIMPLE"/><setting name="defaultStatementTimeout" value="25"/><setting name="safeRowBoundsEnabled" value="false"/><setting name="mapUnderscoreToCamelCase" value="false"/><setting name="localCacheScope" value="SESSION"/><setting name="jdbcTypeForNull" value="OTHER"/><setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>

四:typeAiases(别名)--重点掌握

在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。

如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。

4.1.mybatis默认支持的别名

别名 映射的类型
_byte byte
_long long
_short short
_int int
_integer int
_double double
_float float
_boolean boolean
string String
byte Byte
long Long
short Short
int Integer
integer Integer
double Double
float Float
boolean Boolean
date Date
decimal BigDecimal
bigdecimal BigDecimal

4.2.自定义别名

  4.2.1:单个别名定义(在Configuration.xml)  

<!-- 别名定义:针对单个别名定义 type:类型的路径; alias:别名 --><typeAliases><typeAlias type="com.mybatis.entity.User" alias="user"/></typeAliases>

    UserMapper.xml引用别名:

<select id="findUserById" parameterType="int" resultType="user" >select * from t_user where id=#{id}
</select>

 4.2.2:批量定义别名(常用) 

<!-- 批量别名的定义:package:指定包名,mybatis会自动扫描包中的pojo类,自动定义别名,别名就是类名(首字母大写或小写都可以)--><typeAliases><package name="com.mybatis.entity"/>
         <package name="其它包"/>
    </typeAliases>

五:typeHandlers(类型处理器)

mybatis中通过typeHandlers完成jdbc类型和java类型的转换。

通常情况下,mybatis提供的类型处理器满足日常需要,不需要自定义.

mybatis支持类型处理器:

类型处理器 Java类型 JDBC类型
BooleanTypeHandler Boolean,boolean 任何兼容的布尔值
ByteTypeHandler Byte,byte 任何兼容的数字或字节类型
ShortTypeHandler Short,short 任何兼容的数字或短整型
IntegerTypeHandler Integer,int 任何兼容的数字和整型
LongTypeHandler Long,long 任何兼容的数字或长整型
FloatTypeHandler Float,float 任何兼容的数字或单精度浮点型
DoubleTypeHandler Double,double 任何兼容的数字或双精度浮点型
BigDecimalTypeHandler BigDecimal 任何兼容的数字或十进制小数类型
StringTypeHandler String CHAR和VARCHAR类型
ClobTypeHandler String CLOB和LONGVARCHAR类型
NStringTypeHandler String NVARCHAR和NCHAR类型
NClobTypeHandler String NCLOB类型
ByteArrayTypeHandler byte[] 任何兼容的字节流类型
BlobTypeHandler byte[] BLOB和LONGVARBINARY类型
DateTypeHandler Date(java.util) TIMESTAMP类型
DateOnlyTypeHandler Date(java.util) DATE类型
TimeOnlyTypeHandler Date(java.util) TIME类型
SqlTimestampTypeHandler Timestamp(java.sql) TIMESTAMP类型
SqlDateTypeHandler Date(java.sql) DATE类型
SqlTimeTypeHandler Time(java.sql) TIME类型
ObjectTypeHandler 任意 其他或未指定类型
EnumTypeHandler Enumeration类型 VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)。

六:mappers(映射配置)

6.1:通过resource加载单个映射文件

<!-- 加载映射文件 --><mappers><!--通过resource方法一次加载一个映射文件  --><mapper resource="sqlmap/User.xml"/><mapper resource="mapper/UserMapper.xml"/></mappers>

6.2:通过mapper接口加载单个映射文件

<!-- 通过mapper接口加载单个映射配置文件遵循一定的规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中;上边规范的前提是:使用的是mapper代理方法;--><mapper class="com.mybatis.mapper.UserMapper"/>

按照上边的规范,将mapper.java和mapper.xml放在一个目录 ,且同名。

6.3:批量加载mapper(推荐使用)

<!-- 批量加载映射配置文件,mybatis自动扫描包下面的mapper接口进行加载遵循一定的规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中;上边规范的前提是:使用的是mapper代理方法;--><package name="com.mybatis.mapper"/>

原文链接:http://www.cnblogs.com/selene/p/4607004.html

本文链接:https://liuyanzhao.com/5810.html

Mybatis全局配置文件Configuration.xml详解相关推荐

  1. Tomcat(二):tomcat配置文件server.xml详解和部署简介

    1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务,因为是入门示例,所以设置极其简单,只需修改$CATALINA_HOME/conf/server.xml文件为如下内容即可 ...

  2. 05全局配置文件application.properties详解

    Spring Boot 提供了大量的自动配置,极大地简化了spring 应用的开发过程,当用户创建了一个 Spring Boot 项目后,即使不进行任何配置,该项目也能顺利的运行起来.当然,用户也可以 ...

  3. Mybatis Generator配置文件完整配置详解

    完整的Mybatis Generator(简称MBG)的最完整配置文件,带详解,再也不用去看EN的User Guide了 可以搭配着mybatis generator的中文文档看:http://mbg ...

  4. struts2之配置文件struts.xml详解

    struts配置文件 struts.xml配置参数详解 struts.xml中很大一部分配置默认配置就好了 但是有些还是需要做了解  以便于理解 和修改 <?xml version=" ...

  5. Maven全局配置文件settings.xml 全解

    settings.xml元素详解 1.顶级元素概览 1.1.LocalRepository 1.2.InteractiveMode 1.3.UsePluginRegistry 1.4.Offline ...

  6. log4j2配置文件log4j2.xml详解

    一.配置全解 1.关于配置文件的名称以及在项目中的存放位置 log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml&qu ...

  7. MyBatis全局配置文件MyBatis-config.xml代码

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...

  8. logback配置文件---logback.xml详解

    一.参考文档 1.官方文档 http://logback.qos.ch/documentation.html 2.博客文档 http://www.cnblogs.com/warking/p/57103 ...

  9. Struts2的配置文件struts.xml详解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  10. 4.MyBatis全局配置文件SqlMapConfig.xml

    4.1 properties(属性):将数据路连接参数单独的配置在db.properties配置文件中,只需要在 SqlMapConfig.xml中加载db.properties的属性值即可,就不需要 ...

最新文章

  1. jtag和swd的区别
  2. 《实战突击.php项目开发案例整合》.(明日科技).[PDF]ckook
  3. vue项目,cli-3.0项目部署运行报错:Uncaught SyntaxError: Unexpected token
  4. tensorflow第十一步CNN表情识别
  5. 在pascal环境下学习record
  6. clickjacking:X-frame-options header missing 漏洞解决办法
  7. Oracle活动会话历史(ASH)及报告解读
  8. js中setTimeout()方法使用和窗口加载
  9. Python:SEIR传染病模型
  10. 黑客帝国「缸中之脑」真的可以,这100万个「活体人脑细胞」5分钟学会打游戏...
  11. 微信群聊图灵机器人 复制直接用
  12. 我们说的那些培训班,到底要不要报?自学编程VS培训报班
  13. 多域名指向同一个网站
  14. python写金字塔_金字塔python开发手册
  15. 饥荒服务器模组全部显示冲突,饥荒联机版TGP多层世界服务端整合包及MOD添加设置教程_游戏堡...
  16. 仪器仪表行业B2B电子商务系统大数据驱动,精准构造用户画像
  17. dundas chart
  18. linux系统基础回顾(二)
  19. 苹果手机中如何对CAD图纸进行缩小查看?
  20. 基本分段存储管理方式详解

热门文章

  1. c++用两个队列实现一个栈
  2. 利用PCA降维的手工计算实例
  3. 高淇Struts2.0教程之视频笔记(4)
  4. 怎么对ChannelHandler做测试?
  5. 作业2-Python基础练习
  6. 怎么看软件的编写代码
  7. 由世纪互联运营的 Windows Azure 现已在中国正式发布
  8. 利用IP标准访问列表进行网络流量的控制
  9. 5、最长回文子串(python)
  10. springboot - 整合多数据源配置