1、properties
MyBatis可以用properties引入外部properties配置文件的内容
//引入类路径下的配置文件<properties resource="db.properties"></properties>//引入网络或磁盘上的配置文件<properties url=""></properties>
2、typeAliases
别名处理器:可以为我们的java类型起别名
别名不区分大小写
<typeAliases><!-- 1、typeAlias:为某个java类型起别名type:指定要起别名的类型全类名;默认别名就是类名小写;useralias:指定新的别名--><!-- <typeAlias type="com.bw.mybatis.bean.User" alias="user"/> --><!-- 2、package:为某个包下的所有类批量起别名name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写),)--><package name="com.bw.mybatis.bean"/><!-- 3、批量起别名的情况下,使用@Alias注解为某个类型指定新的别名 --></typeAliases>
3、environments
mybatis可以配置多个环境
<!-- default:指定默认的环境 --><environments default="development"><!-- id:环境的唯一标识 --><environment id="test"><!-- transactionManager:事物管理器type:事务管理器的类型 JDBC(JdbcTransactionFactory)|MANAGED(ManagedTransactionFactory)--><transactionManager type=""></transactionManager><!-- dataSource:数据源;type:数据源类型:UNPOOLED(UnpooledDataSourceFactory)POOLED(PooledDataSourceFactory)JNDI(JndiDataSourceFactory)--><dataSource type=""></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.username}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments>
4、databaseIdProvider
可以支持多数据库厂商
<!--type="DB_VENDOR":VendorDatabaseIdProvider作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商标识来执行不同的sql;MySQL,Oracle,SQL Server...--><databaseIdProvider type="DB_VENDOR"><!-- 为不同的数据库厂商起别名 --><property name="MySQL" value="mysql"/><property name="Oracle" value="oracle"/><property name="SQL Server" value="sqlserver"/></databaseIdProvider>
//为数据库厂商起的别名,可以在mapper文件中指定某条sql语句使用哪个数据库厂商<select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee"databaseId="mysql">select * from tbl_employee where id = #{id}</select>
5、mappers
将sql映射注册到全局配置中
<mappers><!--mapper:注册一个sql映射注册配置文件resource:引用类路径下的sql映射文件mybatis/mapper/UserMapper.xmlurl:引用网路路径或者磁盘路径下的sql映射文件file:///var/mappers/AuthorMapper.xml注册接口class:引用(注册)接口,1、有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下;2、没有sql映射文件,所有的sql都是利用注解写在接口上;推荐:比较重要的,复杂的Dao接口我们来写sql映射文件不重要,简单的Dao接口为了开发快速可以使用注解;--><!-- <mapper resource="mybatis/mapper/UserMapper.xml"/> --><!-- <mapper class="com.bw.mybatis.dao.UserMapperAnnotation"/> --><!-- 批量注册: --><package name="com.bw.mybatis.dao"/></mappers>
