核心配置文件:
* configuration内的内容以及配置位置
-properties (属性)
--property
-settings(全局配置参数)
--setting
-typeAliases (类型别名)
--typeAliase
--package
-typeHandlers(类型处理器)
-objectFactory(对象工厂)
-plugins(插件)
-environments(环境集合属性对象)
--environment(环境子属性对象)
---transactionManager(事务管理)
---dataSource(数据源)
-mappers (映射器)
--mapper
--package
* properties(属性)
在使用 properties 标签配置时,我们可以采用两种方式指定属性配置。
1. 在properties中直接定义property标签
<properties>
<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="root"/>
</properties>
2. 引入文件
如jdbcConfig.properties(放在resources文件夹下)
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root(最好不要直接写username,读取时可能会与系统的名字混淆)
jdbc.password=root
有两种方式引入:
1. resource="jdbcConfig.properties"
2. url=file:///D:/IdeaProjects/MybatisTest/src/main/resources/jdbcConfig.properties
3. 使用properties文件
dataSource 标签就变成了引用上面的配置
<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>
* typeAliases 自定义别名:
在 SqlMapConfig.xml 中配置:
<typeAliases>
<!-- 单个别名定义 -->
<typeAlias alias="user" type="com.itheima.domain.User"/>
<!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
<package name="com.itheima.domain"/>
<package name=" 其它包 "/>
</typeAliases>
* 具体部分的详解
0. 约束头部:
<?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">
1. 数据库连接信息:
<!--配置环境-->
<environments default="mysql">//这里的mysql是代表默认加载的环境id,可以配置多个环境来切换
<!--配置mysql的环境-->
<environment id="mysql">//id表示对一个环境的唯一标识
<!--配置事务的类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源(连接池)-->
<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="root"/>
</dataSource>
</environment>
</environments>
2. 加载:
<!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
<mappers>
<mapper resource="com/qin/dao/IUserDao.xml"/>
</mappers>
* 主配置文件加载映射文件的方式有以下几种:
<mapper resources=”com/itheima/dao/IUserDao.xml”>加载配置文件
<mapper class=”com.itheima.dao.IUserDao”>加载的类(当使用注解开发的时候)
<mapper url=”file:配置文件的物理路径”>加载文件的URL地址file:///
<package name=”com.itheima.dao”>要求配置文件和接口保持同一目录;也可以用于注解
<typeAliases>中的package可以配置要配置别名的包,当指定了之后,该包下面的实体类都会注册别名
并且类名就是别名,不再区分大小写.
<mappers>中的package标签适用于指定dao接口所在的包,当指定了之后就不再需要写mapper
以及resource和class了
* 当写package 的时候,xml映射文件的位置必须放置的与类的包层次相同.不然会找不到
* 注意:在别名的时候,要注意不要多个package下有相同类名的类如domain/user domain2/user(此时会冲突)