在Myabatis框架中的全局配置文件mybatis-config.xml是十分重要的,里面也有许多标签来配置和部署来实现不同的功能,今天我们就来分享一下,全局配置文件中的几个重要的标签
mybatis使用 properties 来引入properties配置文件,里面有两个信息 resouce:引入类路径 url:引入磁盘路径
< properties resource="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mybatis"> < / properties >settings 包含很多重要的设置项; settings:用来设置每一个设置项 name:设置项的名字 value:设置项的取值
比如下面这个settings就是设置允许驼峰命名方式
<settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>这个setting用来在控制台打印结果时输出sql语句(debug)
<setting name="logImpl" value="STDOUT_LOGGING" />typeAliases:别名处理器,可以为Java类型起别名 别名不区分大小写 (1)type:全类名 alias:指定新别名
<typeAlias type="Bean.Employee" alias="emp"/>(2)package:为某一个包下所有类批量取别名 name:指定包名,包下的每一个类
<package name="Bean"/>(3)使用@Alias注解为某一个类指定新的别名–>
配置运行的环境 environments, mybatis可以配置多种环境 (在Spring中不在使用)
<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/mybatis"/> <property name="username" value="root"/> <property name="password" value="123"/> </dataSource> </environment> </environments>databaseIdProvider支持多数据库厂商
type=“DA_WENDOR”:VendorDatabaseIdProvider 作用:得到数据库厂商的标识(驱动getDatabasProductName()),mybatis能根据厂商标识来执行不同的sql
<databaseIdProvider type="DB_VENDOR"> <!--为不同厂商数据库起别名--> <property name="MySQL" value="mysql"/> <property name="Oracle" value="oracle"/> </databaseIdProvider>上面我们为MySQL和Oracle两种数据库分别起了别名,后面在映射文件中标签中会有一个属性 databaseId 来选择要使用的数据库来执行不同的sql。
将写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件 1 配置文件注册,使用resource 2 接口注册,使用class
<mappers> <mapper resource="EmployeeMapper.xml"/> <mapper resource="UserMapper.xml"/> <mapper resource="StudentMapper.xml"/> <mapper class="dao.StudentMapperAnnotation"/> </mappers>主要作用简单说就是拦截映射语句执行过程进行拦截从而做出特定的操作, 官网先了解下主要的对象
主要就是Mybatis用来处理数据库和实体之间的类型转换的类型处理器
<?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> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> <!--显式的指定我们需要更改的配置的值,即使他是默认的,防止版本更新带来的问题--> <setting name="cacheEnabled" value="true"/> <!-- 打印查询语句 --> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings> <typeAliases> <typeAlias type="Bean.Employee" alias="emp"/> <!--<package name="Bean"/>--> </typeAliases> <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/mybatis?allowMultiQueries=true"/> <property name="username" value="root"/> <property name="password" value="123"/> </dataSource> </environment> </environments> <databaseIdProvider type="DB_VENDOR"> <!--为不同厂商数据库起别名--> <property name="MySQL" value="mysql"/> <property name="Oracle" value="oracle"/> </databaseIdProvider> <mappers> <mapper resource="EmployeeMapper.xml"/> <mapper resource="StudentMapper.xml"/> <mapper class="dao.StudentMapperAnnotation"/> <mapper resource="EmployeeMapperDynamicSQL.xml"/> </mappers> </configuration>