mybaits三:全局配置文件(全面)
转载自: https://www.cnblogs.com/pjfmeng/p/7677773.html
在全集配置文件中引入dtd约束“http://mybatis.org/dtd/mybatis-3-config.dtd”,主要有以下几个标签,现在详细解释下这几个标签的使用
1、properties属性----引入外部properties配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 1、mybatis使用properties来引入外部properties配置文件的内容 resource 引入类路径下资源 url 引入网络路径或磁盘路径下资源 --><properties resource="db.properties"></properties><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers>
</configuration>
db.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_mybatis
jdbc.name=root
jdbc.password=tuniu520
相当有之前写的,这里的jdbc连接信息写在datasource中的property属性下,没有引入外部配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/spring_mybatis" /><property name="username" value="root" /><property name="password" value="tuniu520" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers>
</configuration>
2、settings 运行时行为设置
可查看mybatis文档,settings有很多配置项,如
这里试验下mapUnderscoreToCamelCase,可以自动完成hotelName到数据库中字段hotel_name的转换
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 1、mybatis使用properties来引入外部properties配置文件的内容resource 引入类路径下资源url 引入网络路径或磁盘路径下资源 --><properties resource="db.properties"></properties><!-- 2、settings包含很多重要的设置项setting标识具体的设置项name表示设置项的名字value表示设置项的值 --><settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers>
</configuration>
之前写的sql语句可以直接修改成
<select id="getHotel" resultType="com.pjf.mybatis.po.Hotel">select id,hotel_name as hotelName, hotel_address as hotelAddress, price from hotelwhere id=#{id}</select>修改为<select id="getHotel" resultType="com.pjf.mybatis.po.Hotel">select * from hotel where id=#{id}</select>
3、typeAliases别名配置
查看代码中3的注解
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 1、mybatis使用properties来引入外部properties配置文件的内容resource 引入类路径下资源 url 引入网络路径或磁盘路径下资源 --><properties resource="db.properties"></properties><!-- 2、settings包含很多重要的设置项setting标识具体的设置项 name表示设置项的名字 value表示设置项的值 --><settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings><!-- 3、typeAliases 为java类型起别名,别名不区分大小写 typeAlias 为某个具体的java类型取别名 type java类的全类名,默认别名就是类名小写 alias 自定义别名 --> <typeAliases><typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" /><!-- package为某个包下面所有类批量起别名 name 表示包的名称 默认别名为类名小写 这里重复配置了Hotel类,复制的时候注掉一种配置--><package name="com.pjf.mybatis.po" /></typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers>
</configuration>
已经为许多常见的 Java 类型内建了相应的类型别名。它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理,8种基本数据类型类型别名是下划线加数据类型。
4、typeHandlers 类型处理器
将java中的类型和数据库中的类型进行映射
<!-- typeHandlers 类型处理器mybatis3.4之后,这些类型处理器都是自动注册的
--><typeHandlers><typeHandler handler="BooleanTypeHandler"/></typeHandlers>
可以填写以下处理器
5、environments环境配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 1、mybatis使用properties来引入外部properties配置文件的内容resource 引入类路径下资源 url 引入网络路径或磁盘路径下资源 --><properties resource="db.properties"></properties><!-- 2、settings包含很多重要的设置项setting标识具体的设置项 name表示设置项的名字 value表示设置项的值 --><settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings><!-- 3、typeAliases 为java类型起别名,别名不区分大小写 typeAlias 为某个具体的java类型取别名 type java类的全类名,默认别名就是类名小写 alias 自定义别名 --> <typeAliases><typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" /><!-- package为某个包下面所有类批量起别名 name 表示包的名称 默认别名为类名小写<package name="com.pjf.mybatis.po" />--></typeAliases><!-- 4、typeHandlers 类型处理器--><typeHandlers><typeHandler handler=""/></typeHandlers><!-- 5、environments环境配置,可以配置多种环境 default指定使用某种环境,可以达到快速切换environment配置一个具体的环境信息,必须有如下两个标签,id表示当前环境的唯一标识transactionManager 事物管理器type 事物管理器的类型 有两种取值 JDBCmanageddataSource 数据源 type 有三种[UNPOOLED|POOLED|JNDI]--><environments default="development"><environment id="test"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment><environment id="development"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers>
</configuration>
6、mappers sql映射文件注册
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 1、mybatis使用properties来引入外部properties配置文件的内容resource 引入类路径下资源 url 引入网络路径或磁盘路径下资源 --><properties resource="db.properties"></properties><!-- 2、settings包含很多重要的设置项setting标识具体的设置项 name表示设置项的名字 value表示设置项的值 --><settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings><!-- 3、typeAliases 为java类型起别名,别名不区分大小写 typeAlias 为某个具体的java类型取别名 type java类的全类名,默认别名就是类名小写 alias 自定义别名 --> <typeAliases><typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" /><!-- package为某个包下面所有类批量起别名 name 表示包的名称 默认别名为类名小写<package name="com.pjf.mybatis.po" />--></typeAliases><!-- 4、typeHandlers 类型处理器--><typeHandlers><typeHandler handler=""/></typeHandlers><!-- 5、environments环境配置,可以配置多种环境 default指定使用某种环境,可以达到快速切换environment配置一个具体的环境信息,必须有如下两个标签,id表示当前环境的唯一标识transactionManager 事物管理器type 事物管理器的类型 有两种取值 JDBCmanageddataSource 数据源 type 有三种[UNPOOLED|POOLED|JNDI]--><environments default="development"><environment id="test"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment><environment id="development"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><!--6、 mappers将sql映射注册到全局配置文件中mapper注册一个sql映射1、注册配置文件resource引用类路径下文件url 引用网络上或磁盘路径下文件2、注册mapper接口class 有映射文件,接口和映射文件必须同名,而且放在同一个路径里如果没有映射文件,sql语句使用注解的方式,就需要注册接口了3、package批量注册 使用批量注册, 接口和映射文件必须同名,而且放在同一个路径里 --><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper><mapper class=""/><package name="com.pjf.mybatis.po"/></mappers>
</configuration>
7、databaseIdProvider多数据库支持
MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。 如果同时找到带有 databaseId 和不带 databaseId 的相同语句,则后者会被舍弃。
<databaseIdProvider type="DB_VENDOR"></databaseIdProvider>
8、plugins 插件
MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。
<plugins><plugin interceptor=""></plugin>
</plugins>
注:这些标签编写是有先后顺序的,可以吧鼠标放在configuration上,就可以看到顺序了
(properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)
mybaits三:全局配置文件(全面)相关推荐
- mybaits三:全局配置文件
environments标签 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE config ...
- hadoop三个配置文件的参数含义说明
1 获取默认配置 配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知 ...
- MyBatis全局配置文件介绍
一.properties properties标签可以用于引入外部的配置文件,也可以用于定义全局变量. 比如我们在配置数据源的时候习惯把相关的信息单独的放在一个配置文件中,方便修改. 数据库配置信息d ...
- 局部配置和全局配置_06. 教你零基础搭建小程序(解读全局配置文件-tabBar字段)...
自从开始在知乎上发教程后,发现一个事情啊, 大家对于我写的教程,都在偷偷地收藏~~ 但是, 却没有银点赞~ 知乎这个平台吧,点赞的分量比收藏更大, 这里也不是要赞(我知道自己还能做的更好), 只是希望 ...
- MyBatis全局配置文件MyBatis-config.xml代码
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- SpringBoot全局配置文件介绍
全局配置文件能够对一些默认配置值进行修改. Spring Boot使用一个application.properties或者application.yaml的文件作为全局配置文件,该文件存放在src/m ...
- 小程序全局配置文件以及常用配置项
一.window常用配置 1.小程序根目录下的app.json文件时小程序的全局配置文件.常用配置项如下: ① pages 记录当前小程序所有页面的存放路径 ② window 全局设置小程序窗口的外观 ...
- 05全局配置文件application.properties详解
Spring Boot 提供了大量的自动配置,极大地简化了spring 应用的开发过程,当用户创建了一个 Spring Boot 项目后,即使不进行任何配置,该项目也能顺利的运行起来.当然,用户也可以 ...
- Maven全局配置文件settings.xml 全解
settings.xml元素详解 1.顶级元素概览 1.1.LocalRepository 1.2.InteractiveMode 1.3.UsePluginRegistry 1.4.Offline ...
最新文章
- C语言在一个有序数组里插入一个元素,使其成为一个新的有序数组
- c语言五子棋开题报告,基于VC的五子棋游戏的设计与实现(附答辩记录)
- ES6展开运算符(...)
- 程序员面试金典 - 面试题 08.11. 硬币(背包DP)
- 运行Pangolin时提示错误
- .net 批量更新_云子批量命名电脑版|云子批量命名PC版下载_v2021
- springboot2源码2-SpringApplication运行
- FFMPEG结构体分析:AVFrame
- 《推荐系统实践》协同过滤算法源代码
- IOS面试题目及答案1
- idea安装findBugs 报idea运行项目报错Cannot run program
- 基于java的高校运动会管理系统的设计与实现--毕业论文(可仅作参考)
- 不同场景下视频加密方案有哪些?
- 如何强制重启M1 Mac MacBook Pro?
- Android 11.0 充电指示灯红绿显示简单客制化
- 【javaWeb微服务架构项目——乐优商城day05】——商品规格参数管理(增、删、改,查已完成),SPU和SKU数据结构,商品查询
- gitlab合并分支后需要提交吗_Gitlab合并了两个分支
- 汽车使用总结(一)--汽车车灯使用图解大全
- 丁奇的MySQL实战45讲 学习笔记[链接]
- java+swagger+侵入,一种无侵入比swagger-ui兼容性更好更简单的API文档生成方案
热门文章
- mybatis 复习笔记02
- 车和家李想:在智能电动车的红海里,这是我唯一能够胜出的机会所在...
- 4-玩转数据结构-链表
- DNS解析与Bind的使用(2)
- 举例讲解Linux系统下Python调用系统Shell的方法
- mysql-front 无法连接本机mysql.
- android视频播放指定位置,android – 如何在某个特定位置的视图中查看视频?
- anaconda能跑c语言哪,anaconda环境下实现SiamCAR
- ASP.NET-----Repeater数据控件的用法总结
- 保护模式下寻址(易懂)