Mybatis_04 SqlMapConfig.xml配置文件

1、SqlMapConfig.xml 中配置的内容和顺序

-properties(属性)
	--property
-settings(全局配置参数)
	--setting
-typeAliases(类型别名)
	--typeAliase
	--package
-typeHandlers(类型处理器)
-objectFactory(对象工厂)
-plugins(插件)
-environments(环境集合属性对象)
	--environment(环境子属性对象)
		---transactionManager(事务管理)
		---dataSource(数据源)
-mappers(映射器)
	--mapper
	--package

2、properties(属性)

在使用 properties 标签配置时,我们可以采用两种方式指定属性配置。

(1)第一种

可以在标签内部配置连接数据库的信息。

<properties>
	<property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
	<property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis?useSSL=false&amp;serverTimezone=UTC"></property>
	<property name="username" value="root"></property>
	<property name="password" value="root"></property>
</properties>
//下边直接调用
<property name="driver" value="${driver}"></property>			
(2)第二种

(1) 在 classpath 下定义 jdbcConfig.properties 文件

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/eesy_mybatis?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=root

(2)properties 标签配置

<!--方法二、properties的两个属性:
用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下。
以下两个都可以:
	属性1:resource="jdbcConfig.properties"
	<properties resource=""></properties>
	属性2:url="file:\P:\src\main\resources\jdbcConfig.properties"
	<properties url=""></properties>
	
//引用方式和上边不同。区别在于
引用类型:value="${jdbc.driver}"
	<property name="driver" value="${jdbc.driver}"></property>
普通方式:是字符串。
	<property name="username" value="root"></property>
-->
<properties resource="jdbcConfig.properties"></properties>
<!--<properties url="绝对路径"></properties>-->
(3)此时我们的 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>

3、typeAliases(类型别名)

在前面我们讲的 Mybatis 支持的默认别名,我们也可以采用自定义别名方式来开发。

在 SqlMapConfig.xml 中配置自定义别名:

<!-- 使用typeAliases配置别名,它只能配置domain中类的别名-->
 <typeAliases>
	<!-- 
 		typeAlias用于配置别名。
			type属性:指定的是实体类全限定类名。
			alias属性:指的是别名,当指定了别名就不在区分大小写
			例如:别名user   使用时可以是USER UsEr...
		注意:
			typeAliases标签必须在properties标签之下
			起别名之后也可以不用,用实体类全限定别名 -->
		<!--<typeAlias type="com.song.domain.User" alias="user"></typeAlias>-->

	<!-- package:用于配置别名的包,
 		当指定之后,该包下的实体类都会注册别名
 		类名就是别名不区分大小写 -->
 	<package name="com.song.domain"></package>
 </typeAliases> 

4、mappers(映射器)

(1)mapper resource=" "

使用相对于类路径的资源

如:<mapper resource="com/itheima/dao/IUserDao.xml" />
(2)mapper class=" "

使用 mapper 接口类路径

如:<mapper class="com.itheima.dao.UserDao"/>

注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。

(3)package name=""

注册指定包下的所有 mapper 接口

<package name="cn.itcast.mybatis.mapper"/>

注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。

5、SQLMapConfig.xml配置文件

<!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
 <mappers>
 	<!-- 使用IUserDao.xml配置文件映射如下 -->
 	<!-- <mapper resource = "com/song/dao/IUserDao.xml"/> -->
 	
 	<!-- 如果是用注解来配置的话,此处应该使用class属性指定被注解的dao全限定类名 -->
	<!--<mapper class = "com.song.dao.IUserDao"/>-->
	
	<!--package标签是用于指定dao接口所在的包  
 		当指定完成之后就不需要再写mapper以及resource或者class了-->
 	<package name="com.song.dao"></package>	
 </mappers> 
<?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">
<!-- mybatis的主配置文件 -->  
<configuration>
	
	<!-- 配置properties注释((((&&&mappers和properties中URL属性和resource属性用法相同&&&))))
			方法一、可以在标签内部配置连接数据库的信息。也可以通过属性引用外部配置文件信息
				<properties>
					<property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
					<property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis?useSSL=false&amp;serverTimezone=UTC"></property>
					<property name="username" value="root"></property>
					<property name="password" value="root"></property>
				</properties>
				//下边直接调用
				<property name="driver" value="${driver}"></property>
				
			方法二、properties的两个属性:
				用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下。
				以下两个都可以:
					属性1:resource="jdbcConfig.properties"
					<properties resource=""></properties>
					属性2:url="file:\P:\src\main\resources\jdbcConfig.properties"
					<properties url=""></properties>
					
				//引用方式和上边不同。区别在于
				引用类型:value="${jdbc.driver}"
					<property name="driver" value="${jdbc.driver}"></property>
				普通方式:是字符串。
					<property name="username" value="root"></property>
					 
			url属性:
				是要求按照Url的写法来写地址
				URL:统一资源定位符,他是可以唯一标志一个资源的位置
				它的写法:
					http://localhost:8080/mybatisservlet/demoServlet
					协议		主机			端口		URI
					file:\\\P:\eclipse-javaEE\Mybatis\day02_eesy_05mybatisCRUD_properties\src\main\resources
			uri:统一资源标识符。他是在应用中可以唯一定位一个资源的
	-->
	<properties resource="jdbcConfig.properties"></properties>
	
	
	<!-- 使用typeAliases配置别名,它只能配置domain中类的别名-->
 		 <typeAliases>
 		 		<!-- 
	 		 		typeAlias用于配置别名。
						type属性:指定的是实体类全限定类名。
						alias属性:指的是别名,当指定了别名就不在区分大小写
							例如:别名user   使用时可以是USER UsEr...
						注意:
							typeAliases标签必须在properties标签之下
							起别名之后也可以不用,用实体类全限定别名 -->
				<!--<typeAlias type="com.song.domain.User" alias="user"></typeAlias>-->
				
				<!-- package:用于配置别名的包,
				 		当指定之后,该包下的实体类都会注册别名
				 		类名就是别名不区分大小写 -->
				 <package name="com.song.domain"></package>
		 </typeAliases> 
	 
	<!-- 配置环境 -->
	<environments default="mysql">
		<!-- 配置MySQL的环境 -->
		<environment id="mysql">
			<!-- 配置事务的类型 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 配置数据源(连接池) -->
			<dataSource type="POOLED">
				<!-- 配置连接数据库的四个基本信息 -->
				<property name="driver" value="${jdbc.driver}"></property>
				<property name="url" value="${jdbc.url}"></property>
				<property name="username" value="${jdbc.username}"></property>
				<property name="password" value="${jdbc.password}"></property>
			</dataSource>
		</environment>
	</environments>
	
	<!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
 <mappers>
 	<!-- 使用IUserDao.xml配置文件映射如下 -->
 	<!-- <mapper resource = "com/song/dao/IUserDao.xml"/> -->
 	
 	<!-- 如果是用注解来配置的话,此处应该使用class属性指定被注解的dao全限定类名 -->
	<!--<mapper class = "com.song.dao.IUserDao"/>-->
	
	<!--package标签是用于指定dao接口所在的包  
 		当指定完成之后就不需要再写mapper以及resource或者class了-->
 	<package name="com.song.dao"></package>	
 </mappers> 
			
</configuration>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值