SSM框架之Mybatis-config.xml文件配置以及属性详解

本篇,主要是总结一些mybatis-config.xml文件的配置以及属性相关的解释。

  • properties(属性)
  • settings(全局配置参数)
  • typeAliases(类型别名)
  • typeHanderlers(类型处理器)
  • environments(环境集合属性对象)
  • environment(环境配置)
  • transactionManager(事务管理)
  • dataSource(数据源)
  • mappers(映射器)
  • objectFactory
  • plugins

properties

一般咱们在SSM中配置数据库信息时,通常会将数据库信息单独写入一个jdbc.properties文件中,方便后续的维护.

jdbc.properties

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mysql
jdbc.username=root
jdbc.password = root

在mybatis-config.xml配置文件中,可以这样使用:

<properties resource="jdbc.properties">

</properties>

		<environment id="development">
		<transactionManager type="JDBC"/>
		<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>
		</environment>

settings

这个属性的作用一般设置一些全局配置参数,比如开启二级缓存,开启延迟加载等,需要注意的是,因为这些配置的参数会影响整个mybatis的运行,我们需要谨慎设置。

启动缓存

<settings>
	<setting name="cacheEnabled" value="true">
</settings>

typeAliases

类型别名,顾名思义就是有时候一个实体名字太长,而且使用频率也比较高,这时候,我们就可以使用这个属性,起一个短一些的名字。

将两个实体的完全限定名分别取了一个简化的名字

	<typeAliases> 
			<!-- 起别名,在daoxml文件中可以直接引用起好的别名 -->
			<typeAlias type="com.hp.entity.member" alias="mb"/>	
			<typeAlias type="com.hp.entity.Teacher" alias="tc"/>	
	</typeAliases>

我们在sqlmapper文件中就可以使用它的别名

<!-- 登录功能-->
	<select id="Login" resultType="mb"> 
	select * from userinfo where username=#{0} and password=#{1} and role=#{2};
	</select>	

environments、environment、dataSource

先来看配置,再一一解释

<environments default="development">
	<!--数据库配置环境1  -->
		<environment id="development">
		<transactionManager type="JDBC"/>
		<dataSource type="POOLED">
		<property name="driver" value="com.mysql.jdbc.Driver"/> 
		<property name="url" value="jdbc:mysql://localhost:3306/gaoxin"/> 
		<property name="username" value="root"/> 
		<property name="password" value="root"/> 
		</dataSource>
		</environment>
		
		<!--数据库配置环境2  -->
		<environment id="release">
		<transactionManager type="JDBC"/>
		<dataSource type="POOLED">
		<property name="driver" value="com.mysql.jdbc.Driver"/> 
		<property name="url" value="jdbc:mysql://localhost:3306/gaoxin"/> 
		<property name="username" value="root"/> 
		<property name="password" value="159951"/> 
		</dataSource>
		</environment>
	</environments>

先解释一下 environments default 属性,在我们实际开发的时候,通常是本地开发,然后在服务器上进行一系列测试,那么,对于这两种环境,数据库的一些配置肯定是不一样的,这时候,我们可以将两个数据库配置都写在文件中,在environment id 属性作为不同的识别标志。由environments default 属性来决定使用哪个数据库的配置和。从上面代码中我们可以看到,第一个environment id=“development” 第二个为 environment id=“release” ,在environments default=“development”,则第一个数据库配置将起作用,第二个不起作用。

DataSource 这里介绍它的两个类型,分别是UNPOOLED和POOLED。UNPOOLED 它只有在每次请求的时候才打开和关闭连接。
POOLED 利用“池”的概念将JDBC的连接对象组织起来,不需要每次请求创建新的连接实例,节约了初始化和认证时间,对于要求快速响应的程序,推荐使用这个连接池类型。

发布了48 篇原创文章 · 获赞 34 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/lzx159951/article/details/86350430