004Mybatis的核心配置mybatis-config.xml

属性配置(properties)

Mybatis允许在三个地方配置属性
1、使用额外的properties文件,然后再用properties标签的resource属性指定properties文件进行加载。
2、用properties标签的子标签property的name和value配置属性。(优先级最低)
3、在SqSessionlFactoryBuilder的build方法中指定properties对象。(优先级最高)
另外还可以在通过${属性名}的时候指定默认值,
${属性名:默认值}

<properties>
	<!--启用默认属性值-->
	<property name="org.apache.ibatis.parsing.PropertyParser.enable-			default-value" value="true">
	<!--更改属性名与默认属性值分隔符为-->
	<property name="org.apache.ibatis.parsing.PropertyParser.default-value-separator" value="--">
</properties>

设置配置(settings)

settings的子标签setting有一大堆的name和value属性组合用来更改设置,一般配置setting比较少,因为默认的设置一般比较合理,具体不一一罗列。

类的别名配置(typeAliases)

typeAliases的两个子元素指定别名
子元素typeAlias:
属性type=全限定类名(不需要后缀)
属性alias=指定的任意别名

<typeAliases>
	<typeAlias type="全限定类名" alias="别名"/>
</typeAliases>

子元素package
属性name=包名

<typeAliases>
	<typeAlias name="包名"/>
</typeAliases>

别名就是类名小写,或者@Alias注解类名

对象工厂配置(objectFactory)

属性type=自定义对象工厂坐标(不需要后缀)
子元素property

<objectFactory type="自定义对象工厂坐标">
	<property name="属性名" value"属性值"/>
</objectFactory>

关于自定义对象工厂此处不详细展开

类型处理器(typeHandlers)

<typeHandlers>
	<typeHandler handler="类型处理器坐标"/>
</typeHandlers>

关于自定义类处理器具体实现此处不展开

数据库环境配置(environments )

数据库环境配置分为两大块:事务管理器配置、数据源配置

<!--数据库环境分为两大块:事务管理器和数据源-->
<environments default="默认的environment的id">
	<environment id="环境id">
		<transactoinManager type="事务管理器全限定类名">//JDBC是MyBatis内置别名
			<!--事务管理器可能用到的属性-->
			<property name="" value="">
		</transactoinManager>
		<dataSource type="数据源全限定类名"><!--POOLED是MyBatis内置别名-->
		<!--下面为数据源提供一些数据库连接的数据,其中name的值为数据源中对应的获取数据信息的方法名对应(set、get方法,例如:name的值为"user",那么在数据源对应的类中获取name对应的方法就是getUser())-->
			<property name="username" value="root">
			<property name="maxPoolSize" value="50">
			<property name="xxxx" value="xxxx">
			<property name="xxxx" value="xxxx">
			<property name="xxxx" value="xxxx">
		</dataSource>
	</environment>
</environments>

自定义数据源要自己写类继承UnpooledDataSourceFactory,例如配置C3P0数据源:

public class MyC3P0DataSourceFactory extends UnpooledDataSourceFactory
{
	//ComboPooledDataSource是C3P0提供的实现类
	this.dataSource = new ComboPooledDataSource();
}

事务管理器也可以自定义,此处不展开

数据库ID配置(databaseIdProvider)

配置数据库id只要是兼容不同的数据库到同一个MyBatis项目中。
比如,两个不同的数据库的select语句写法不同,但是两个select语句的标签ID都是一样的,因为他们处理的业务逻辑相同,其他的都不变,只是两个select用不同的数据库操作,那么我们必须让MyBatis分清楚哪个select语句对应哪个数据库,这个时候就要为select标签指定databaseId属性了。

<select id="query" databaseId="msql">
	select * from table_name
</select>
<!--DB_VENDOR为MyBatis内置的数据库别名分配器VendorDatabaseIdProvide-->
<databaseIdProvider type="DB_VENDOR">
	<property name="数据库出厂名子串" value="databaseId">
	<property name="数据库出厂名子串" value="databaseId">
	...
</databaseIdProvider>

数据库别名分配器可以自定义,但是一般没必要,数据库厂商名可以在databaseMetaData中获取

加载Mapper(mappers)

四种配置方式

<mappers>
	<mapper resources="xml文件加载路径"/>
	<mapper url="xml文件资源的url"/>          <!--可以使用file协议-->
	<mapper class="Mapper接口文件加载路径"/>
	<mapper package="包名"/>                  <!--加载指定包下的所有Mapper文件-->
</mappers>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值