Mybatis全局配置文件

一. 引入外部属性文件_properties

像在Spring中,数据库连接的相关的配置都是在外部的properties文件中进行的,在MyBatis依然使用这种形式。

在类路径下添加db.properties:

### MYSQL 

mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://127.0.0.1:3306/ssm?characterEncoding=utf-8&useUnicode=true
mysql.user=root
mysql.password=a123456
mysql.maxSize=10
mysql.initSize=5

### ORACLE

oracle.driver=oracle.jdbc.driver.OracleDriver
oracle.url=jdbc:oracle:thin:@AUTOBVT-CKDOVBK:1521:wanbange
oracle.user=scott
oracle.password=a123456

然后在MyBatis的全局配置文件中,引入外部的属性文件:



<configuration>
	
	<properties resource="db.properties" >properties>
	
	<environments default="mysql">
		<environment id="mysql">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${mysql.driver}" />
				<property name="url" value="${mysql.url}" />
				<property name="username" value="${mysql.user}" />
				<property name="password" value="${mysql.password}" />
			dataSource>
		environment>
	environments>
	
	<mappers>
		<mapper resource="com/nhkj/dao/EmpDao.xml" />
	mappers>
configuration>

测试引用外部属性文件是否成功.

二. 运行时的行为设置_setting

在MyBatis的全局配置文件中,可以使用setting标签设置MyBatis运行时的行为,有很多可以设置的项,今天我们讲解一些基本的设置,之前编写HelloWorld程序的时候,我们查询的数据列没有和实体类的JavaBean风格的属性名称对应,所以查询的结果封装不上,后面的解决方案是设置了自动驼峰命名,就是将查询结果集的数据列映射到实体类属性映射不上的情况下,对查询结果集的数据列自动的进行驼峰命名后再进行映射。这是查询结果集能够正常的封装到实体类对象的属性上。


	<settings>
		
		<setting name="mapUnderscoreToCamelCase" value="true">setting>
	settings>

三. 运行时环境

Environments表示配置多个环境,这里的环境指的是数据库环境,已就意味着我们的程序可以连接多个数据库。

	
 <environments default="oracle">
     <environment id="mysql">
         <transactionManager type="JDBC"/>
           <dataSource type="POOLED">
                       <property name="driver" value="${mysql.driver}" />
                       <property name="url" value="${mysql.url}" />
                       <property name="username" value="${mysql.user}" />
                       <property name="password" value="${mysql.password}" />
                       dataSource>
    environment>
	<environment id="oracle">
		<transactionManager type="JDBC" />
		<dataSource type="POOLED">
			<property name="driver" value="${oracle.driver}" />
			<property name="url" value="${oracle.url}" />
			<property name="username" value="${oracle.user}" />
			<property name="password" value="${oracle.password}" />
		dataSource>
	environment>
environments>

四. 注册映射文件_mappers

使用mappers标签可以注册sql映射文件,将sql映射文件注册到全局配置文件中是必不可少的步骤,正常开发来说,一个SQL映射文件对应到一个DAO[Mapper]接口。


<mappers>
	<package name="com.nhkj.dao"/>
	
mappers>

小结

对于全局的配置文件,在Mybatis中是一个关键的配置,当然以后如果Mybatis和Spring的整合的话,可以不需要Mybatis的配置文件,但是依然建议保留。

MyBatis的全局配置文件必须按照顺序配置:

  • properties
  • settings
  • typeAliases
  • typeHandlers
  • objectFactory
  • objectWrapperFactory
  • reflectorFactory
  • plugins
  • environments
  • databaseIdProvider
  • mappers

中间可以断,但顺序不能乱。

你可能感兴趣的:(Mybatis,mybatis)