MyBatis全局配置文件conf.xml详细讲解
加载外部的配置文件
<!-- 加载外部的配置文件 -->
<properties resource="xxx.properties"/>
db.properties配置数据库参数
重要的配置参数
<!-- 重要的配置参数 -->
<settings>
<!-- 开启驼峰命名规则 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 配置Log4j -->
<setting name="logImpl" value="LOG4J"/>
</settings>
起别名
<typeAliases>
<!-- 为某个java类型起别名(别名 忽略大小写) -->
<typeAlias type="xxx.xxx." alias="xxx" />
<!-- 批量定义别名 会将包中的类批量定义别名 一般直接写实体类的类名即可 -->
<package name="xxx.xxx" />
<!-- 批量别名的情况下,如果类名重复,可以使用@Alias注解为某个类型指定新的别名 -->
</typeAliases>
配置多种环境
<!-- mybatis配置多种环境 通过default指定某个环境用于切换环境-->
<environments default="xxx">
<!-- environment必须得有transactionManager和dataSource -->
<environment id="xxx">
<!-- transactionManager配置事务提交方式type:
JDBC:利用jdbc方式处理事务,需要自己提交(默认jdbc方式)
MANAGED:将事务交由其他组件去托管 默认会关闭连接
如果MANAGED方式不想关闭连接,<property name="closeConnection" value="false"/>
-->
<transactionManager type="JDBC"/>
<!-- 数据源有三种
UNPOOLED:传统的JDBC模式(需要创建连接,打开关闭数据库,非常消耗性能)
POOLED:数据库连接池
JNDI:Tomcat内置的数据库连接池
-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- databaseIDProvider:支持多数据库厂商
type="DB_VENDOR"填写的是数据库厂商的标识(驱动自带的getDatabaseProductName)
MySQL
具体使用应在Mapper.xml文件的具体SQL标签填写一个属性databaseId="mysql",表示这条SQL使用的是mysql数据库
-->
<databaseIdProvider type="DB_VENDOR">
<!-- 为不同的数据库厂商起别名 -->
<property name="MySQL" value="mysql"/>
<property name="Qracle" value="oracle"/>
<property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>
mappers
<!-- mappers用于配置多个映射文件,将SQL映射注册到全局配置中
有三个属性
resource="xxx/xxx/xxxMapper.xml" 引用类路径下的sql映射文件
url="xxx/xxx/xxxMapper.xml" 引用的是网络路径或磁盘路径下的sql映射文件
-->
<mappers>
<!-- mapper用于配置单映射文件,resource指定映射文件的路径 -->
<mapper resource="xxx/xxx/xxxMapper.xml"/>
<!-- 批量注册(一般写映射文件的包) -->
<package name="xxx.xxx.xxx"/>
</mappers>