Java -- MyBatis学习笔记10、主配置文件
1、Properties标签的使用
在使用 properties 标签配置时,我们可以采用两种方式指定属性配置。
1.1、直接给出值
<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/StudentManage"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
1.2、使用数据库属性配置文件
为了方便对数据库连接的管理,DB连接四要素数据一般都是存放在一个专门的属性文件中的。MyBatis主配置文件需要从这个属性文件中读取这些数据。
- 在resources目录创建jdbc.properties文件,文件名称自定义:
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/StudentManage
username = root
password = root
- 使用properties标签、在configuration标签下边添加:
<properties resource="jdbc.properties"/>
- 使用Key指定值:
<environments default="mysql">
<environment id="mysql">
<transactionManager type="jdbc"></transactionManager>
<dataSource type="POOLED">
<!-- 使用properties文件 : 语法 ${key}-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
2、typeAliases别名
由于类的全限定名称很长,需要大量使用的时候,总写那么长的名称不方便。在 MyBatis 中允许定义一个简写来代表这个类,这就是别名。Mybatis支持默认别名,我们也可以采用自定义别名方式来开发,主要使用在<select resultType="别名">
- mybatis.xml主配置文件定义别名:
<typeAliases>
<!--
定义单个类型的别名
type: 类型的全限定名称
alias: 自定义别名
-->
<typeAlias type="com.rg.entity.UserInfo" alias="User"/>
<!--
批量定义别名,扫描整个包下的类,别名为类名(首字母大写或小写都可以)
name: 包名
-->
<package name="com.rg.entity"/>
<package name="... 其他包"/>
</typeAliases>
- mapper.xml映射文件:
<insert id="insert" parameterType="User">
insert into UserInfo(Name,Age) values(#{Name},#{Age})
</insert>
<!-- 或者: -->
<insert id="insert" parameterType="UserInfo">
insert into UserInfo(Name,Age) values(#{Name},#{Age})
</insert>
<!-- 因为package是直接扫描整个包下所以类。 -->
3、mappers映射器
MyBatis是基于sql映射配置的框架,sql语句都写在 Mapper 配置文件中,当构建SqlSession类之后,就需要去读取 Mapper配置文件中的sql配置。而mappers标签就是用来配置需要加载的sql映射配置文件路径的。
- <mapper resource="" />
<!-- 使用相对于类路径的资源,从 classpath 路径查找文件 -->
<!--从classes下开始-->
<mapper resource="com/rg/dao/UserInfoDao.xml"/>
- <package name=""/>
<!-- 指定包下的所有 Dao 接口 -->
比如:<package name="com.bjpowernode.dao"/>
<!-- 注意:此种方法要求 Dao 接口名称和 mapper 映射文件名称相同,且在同一个目录中。 -->