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 映射文件名称相同,且在同一个目录中。 -->
原文地址:https://www.cnblogs.com/dcy521/p/14749092.html