1、properties

MyBatis可以用properties引入外部properties配置文件的内容

  1. //引入类路径下的配置文件
  2. <properties resource="db.properties"></properties>
  3. //引入网络或磁盘上的配置文件
  4. <properties url=""></properties>

2、typeAliases

别名处理器:可以为我们的java类型起别名

别名不区分大小写

  1. <typeAliases>
  2. <!-- 1、typeAlias:为某个java类型起别名
  3. type:指定要起别名的类型全类名;默认别名就是类名小写;user
  4. alias:指定新的别名
  5. -->
  6. <!-- <typeAlias type="com.bw.mybatis.bean.User" alias="user"/> -->
  7. <!-- 2、package:为某个包下的所有类批量起别名
  8. name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写),)
  9. -->
  10. <package name="com.bw.mybatis.bean"/>
  11. <!-- 3、批量起别名的情况下,使用@Alias注解为某个类型指定新的别名 -->
  12. </typeAliases>

3、environments

mybatis可以配置多个环境

  1. <!-- default:指定默认的环境 -->
  2. <environments default="development">
  3. <!-- id:环境的唯一标识 -->
  4. <environment id="test">
  5. <!-- transactionManager:事物管理器
  6. type:事务管理器的类型 JDBC(JdbcTransactionFactory)|MANAGED(ManagedTransactionFactory)
  7. -->
  8. <transactionManager type=""></transactionManager>
  9. <!-- dataSource:数据源;
  10. type:数据源类型:
  11. UNPOOLED(UnpooledDataSourceFactory)
  12. POOLED(PooledDataSourceFactory)
  13. JNDI(JndiDataSourceFactory)
  14. -->
  15. <dataSource type=""></dataSource>
  16. </environment>
  17. <environment id="development">
  18. <transactionManager type="JDBC" />
  19. <dataSource type="POOLED">
  20. <property name="driver" value="${jdbc.driver}" />
  21. <property name="url" value="${jdbc.url}" />
  22. <property name="username" value="${jdbc.username}" />
  23. <property name="password" value="${jdbc.password}" />
  24. </dataSource>
  25. </environment>
  26. </environments>

4、databaseIdProvider

可以支持多数据库厂商

  1. <!--type="DB_VENDOR":VendorDatabaseIdProvider
  2. 作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商标识来执行不同的sql;
  3. MySQL,Oracle,SQL Server...
  4. -->
  5. <databaseIdProvider type="DB_VENDOR">
  6. <!-- 为不同的数据库厂商起别名 -->
  7. <property name="MySQL" value="mysql"/>
  8. <property name="Oracle" value="oracle"/>
  9. <property name="SQL Server" value="sqlserver"/>
  10. </databaseIdProvider>
  1. //为数据库厂商起的别名,可以在mapper文件中指定某条sql语句使用哪个数据库厂商
  2. <select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee"
  3. databaseId="mysql">
  4. select * from tbl_employee where id = #{id}
  5. </select>

5、mappers

将sql映射注册到全局配置中

  1. <mappers>
  2. <!--
  3. mapper:注册一个sql映射
  4. 注册配置文件
  5. resource:引用类路径下的sql映射文件
  6. mybatis/mapper/UserMapper.xml
  7. url:引用网路路径或者磁盘路径下的sql映射文件
  8. file:///var/mappers/AuthorMapper.xml
  9. 注册接口
  10. class:引用(注册)接口,
  11. 1、有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下;
  12. 2、没有sql映射文件,所有的sql都是利用注解写在接口上;
  13. 推荐:
  14. 比较重要的,复杂的Dao接口我们来写sql映射文件
  15. 不重要,简单的Dao接口为了开发快速可以使用注解;
  16. -->
  17. <!-- <mapper resource="mybatis/mapper/UserMapper.xml"/> -->
  18. <!-- <mapper class="com.bw.mybatis.dao.UserMapperAnnotation"/> -->
  19. <!-- 批量注册: -->
  20. <package name="com.bw.mybatis.dao"/>
  21. </mappers>