MyBatis配置文件mybatis-config.xml中properties,typeAliases,mappers标签的使用详解

MyBatis配置文件mybatis-config.xml中各种配置标签的使用详解

1、db.properties配置文件的使用

1.1、在src-main-resources目录下创建db.properties文件中主要为来连接数据库的各个参数

MySQL5版本

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8
db.user=root
db.password=root

MySQL8版本

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=PRC
db.user=root
db.password=root

1.2、在mybatis-config.xml配置文件中引用db.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 resource="db.properties"></properties>

    <!--使用dev环境-->
    <environments default="dev">
        <!--dev环境-->
        <environment id="dev">
            <transactionManager type="JDBC"></transactionManager>
            <!--使用连接池中的数据源-->
            <dataSource type="POOLED">
            <!-- value中引用的值一定要和db.properties文件中的参数名一样 -->
                <property name="driver" value="${db.driver}"/>
                <property name="url" value="${db.url}"/>
                <property name="username" value="${db.user}"/>
                <property name="password" value="${db.password}"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

2、typeAliases标签定义实体类别名

2.1、查看mybatis源码可以看到 Mybatis 默认支持的别名:

在这里插入图片描述

2.2、在mybatis-config.xml文件中为实体类定义别名,提高书写效率:

<?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 resource="db.properties"></properties>

    <typeAliases>
    	<!--定义单个别名-->
        <!--<typeAlias type="cn.fpl1116.pojo.User" alias="User"></typeAlias>-->
        <!--批量给pojo定义别名,推荐使用小写-->
        <package name="cn.fpl1116.pojo"/>
    </typeAliases>

    <!--使用dev环境-->
    <environments default="dev">
        <!--dev环境-->
        <environment id="dev">
            <transactionManager type="JDBC"></transactionManager>
            <!--使用连接池中的数据源-->
            <dataSource type="POOLED">
                <property name="driver" value="${db.driver}"/>
                <property name="url" value="${db.url}"/>
                <property name="username" value="${db.user}"/>
                <property name="password" value="${db.password}"/>
            </dataSource>
        </environment>
    </environments>
   
</configuration>

2.3、自定义别名的使用

<mapper namespace="cn.fpl1116.mapper.UserMapper">
    <!--使用别名-->
    <select id="getUserById" parameterType="int" resultType="user">
        select * from user where id = #{
   id}
    </select>
    <!--不使用别名-->
    <select id="getUserById" parameterType="java.lang.Integer" resultType="cn.fpl1116.pojo.User">
        select * from user where id = #{
   id}
    </select>
</mapper>

2.4、debug查看自定义注册的别名

在sqlsession——configuration——typeAliasesRegistry——TYPE_ALIASES中可以看到该标签默认的别名和自定义的别名
在这里插入图片描述

3、Mappers标签引入映射文件的使用

3.1、使用mapper映射文件的路径

<mappers>
        <mapper resource="cn/fpl1116/mapper/UserMapper.xml"/>
    </mappers>

3.2、使用mapper接口的路径

<mappers>
    <mapper class="cn.fpl1116.mapper.UserMapper"></mapper>
</mappers>

注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同

3.3、使用mapper接口的包名批量引入

<mappers>
        <package name="cn.fpl1116.mapper"></package>
    </mappers>

注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同

4、按照上面标签优化后的mybatis-config.xml配置文件完整代码如下:

<?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 resource="db.properties"></properties>

    <typeAliases>
        <!--<typeAlias type="cn.fpl1116.pojo.User" alias="User"></typeAlias>-->
        <!--批量给pojo定义别名,推荐使用小写-->
        <package name="cn.fpl1116.pojo"/>
    </typeAliases>

    <!--使用dev环境-->
    <environments default="dev">
        <!--dev环境-->
        <environment id="dev">
            <transactionManager type="JDBC"></transactionManager>
            <!--使用连接池中的数据源-->
            <dataSource type="POOLED">
                <property name="driver" value="${db.driver}"/>
                <property name="url" value="${db.url}"/>
                <property name="username" value="${db.user}"/>
                <property name="password" value="${db.password}"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 扫描映射文件 -->
    <!--加载mapper映射文件-->
    <mappers>
        <!--直接引入映射文件-->
        <!--<mapper resource="cn/fpl1116/mapper/UserMapper.xml"></mapper>-->
        <!--按mapper接口的名称引入映射文件,要求 mapper 接口名称和 mapper 映射文件名称相同-->
        <!--<mapper class="cn.fpl1116.mapper.UserMapper"></mapper>-->
        <!--批量按mapper接口的名称引入映射文件-->
        <package name="cn.fpl1116.mapper"/>
    </mappers>
</configuration>

相关推荐

  1. MyBatis配置文件详解

    2023-12-21 07:00:03       18 阅读
  2. 详细分析Mybatis<foreach>标签

    2023-12-21 07:00:03       37 阅读
  3. mybatis标签使用

    2023-12-21 07:00:03       45 阅读
  4. MyBatis核心配置文件

    2023-12-21 07:00:03       17 阅读
  5. MyBatis——MyBatis 核心配置文件

    2023-12-21 07:00:03       6 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-21 07:00:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-21 07:00:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-21 07:00:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-21 07:00:03       18 阅读

热门阅读

  1. 环境监测升级:钡铼技术的水利环保工业路由器

    2023-12-21 07:00:03       42 阅读
  2. node.js事件循环相关步骤

    2023-12-21 07:00:03       30 阅读
  3. 分布式编译distcc

    2023-12-21 07:00:03       50 阅读
  4. git 的碎步浪荡,添加仓库子项目,迁移仓库

    2023-12-21 07:00:03       39 阅读
  5. ElasticSearch插件手动安装

    2023-12-21 07:00:03       45 阅读
  6. webrtc支持的最小宽度和高度

    2023-12-21 07:00:03       46 阅读