本文学习mybatis配置文件中的相关配置
文章目录
- 一、properties的使用
- 1.原始配置文件的写法
- 2.properties的第一种使用方式:内部定义
- 3.properties的第二种使用方式:外部文件定义配置信息
- 3.1使用resource属性
- 3.2使用url属性:
- 二、typeAliases配置实体类中的别名(指定实体类)
- 1.不使用别名的情况
- 2方式一:单个定义别名(全限定名)
- 3方式二:批量定义别名,扫描整个包下的类,别名为类名(同样忽略大小写)
- 三、mappers映射器的配置(指定DAO接口)
一、properties的使用
1.原始配置文件的写法
从学习mybatis到现在,对于配置文件的写法,一直采用下面的方式
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--配置环境 default 和 id保持一致-->
<environments default="mysql">
<environment id="mysql">
<!--配置事务类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源信息-->
<dataSource type="POOLED">
<!--连接数据库的四个基本信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!--后面的编码是防止中文乱码-->
<property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="admin"/>
</dataSource>
</environment>
</environments>
<!--映射文件的位置-->
<mappers>
<mapper resource="com/xpt/dao/IUserDao.xml"></mapper>
</mappers>
</configuration>
2.properties的第一种使用方式:内部定义
<?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">
<configuration>
<properties>
<!--连接数据库的四个基本信息-->
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
<!--后面的编码是防止中文乱码-->
<property name="jdbc.url" value="jdbc:mysql://localhost:3306/eesy_mybatis?characterEncoding=utf-8"/>
<property name="jdbc.username" value="root"/>
<property name="jdbc.password" value="admin"/>
</properties>
<!--配置环境 default 和 id保持一致-->
<environments default="mysql">
<environment id="mysql">
<!--配置事务类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源信息-->
<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>
</environments>
<!--映射文件的位置-->
<mappers>
<mapper resource="com/xpt/dao/IUserDao.xml"></mapper>
</mappers>
</configuration>
3.properties的第二种使用方式:外部文件定义配置信息
这里又有两种方式来获取外部文件
3.1使用resource属性
- 要求配置文件必须放在
resource
的根目录下 - 配置文件的内容为数据库连接信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/eesy_mybatis
jdbc.username=root
jdbc.password=admin
- 按如下使用:
<properties resource="jdbcConfig.properties">
</properties>
- 下面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.2使用url属性:
- url是什么?
- file协议
- 注意这里要从本机上,引用我们的配置文件使用的协议就不是
http
协议,win中文件位置采用的是file协议
,把配置文件拖动到浏览器中,会发现
- url的使用:
<properties url="file:///D:/Users/xiaopangtou/OneDrive/project_web_idea/mybatis/day02_eesy_01mybatisCRUD/src/main/resources/jdbcConfig.properties">
</properties>
- 其余配置不变即可
二、typeAliases配置实体类中的别名(指定实体类)
1.不使用别名的情况
在映射配置文件中,当需要指定实体类时,
resultType
和parameterType
都需要使用全限定名
(包名+类名)
2方式一:单个定义别名(全限定名)
- 在
SqlMapConfig.xml
中配置:
<typeAliases>
<typeAlias type="com.xpt.domain.User" alias="user"/>
</typeAliases>
当指定别名后,就不再区分大小写了
- 然后就可以在映射配置文件中使用该别名了
3方式二:批量定义别名,扫描整个包下的类,别名为类名(同样忽略大小写)
<typeAliases>
<!--typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就再区分大小写
<typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>-->
<!-- 用于指定要配置别名的包,当指定之后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写-->
<package name="com.xpt.domain"/>
</typeAliases>
三、mappers映射器的配置(指定DAO接口)
<mappers>
<!-- package标签是用于指定dao接口所在的包,当指定了之后就不需要在写mapper以及resource或者class了 -->
<!--<mapper resource="com/xpt/dao/IUserDao.xml"></mapper>-->
<package name="com.xpt.dao"/>
</mappers>