mybatis源码学习之——配置详解二

本文承接上篇,继续梳理MyBatis配置文件。介绍了<environments>环境配置,MyBatis可适应多环境,每个SqlSessionFactory实例只能选一种环境;还阐述了<mappers>映射器的4种配置方式,最后建议深入学习参考官网文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇我们梳理来mybatis配置文件整体结构,和部分配置项的介绍,下面我们继续梳理mybatis中的<environments>和<mappers>

5、environments(环境配置)

MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者想在具有相同 Schema 的多个生产数据库中 使用相同的 SQL 映射(摘自官网

配置方式如下:

<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC"></transactionManager>
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://www.xxxx.com:3306/luxydb"/>
            <property name="username" value="luxy"/>
            <property name="password" value="******"/>
        </dataSource>
    </environment>
    <environment id="product">
        <transactionManager type="JDBC"></transactionManager>
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://www.xxxx.com:3306/luxydb2"/>
            <property name="username" value="luxy"/>
            <property name="password" value="******"/>
        </dataSource>
    </environment>
</environments>

注:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。即使用不同的环境,需要创建不同的SqlSessionFactory,但每个环境创建各自创建一个SqlSessionFactory。

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment);

如果没有传入environment,则获取<environments default="development">中配置的default。

6、mappers(映射器)

对于映射器mybatis共提供了类路径的资源引用、完全限定资源定位符(包括 file:/// 的 URL)、类名、包名4种配置方式

6.1  使用相对于类路径的资源引用

<mappers>
  <mapper resource="com/mybatis/mine/userMapper.xml"/>
</mappers>

6.2 使用完全限定资源定位符(URL)

<mappers>
  <mapper url="file://D:/var/mappers/AuthorMapper.xml"/>
</mappers>

6.3 使用映射器接口实现类的完全限定类名

<mappers>
  <mapper class="com.mybatis.mine.UserMapper"/>
</mappers>

6.4 将包内的映射器接口实现全部注册为映射器

<mappers>
  <package name="com.mybatis.mine"/>
</mappers>

结语:结合前一篇我们简单梳理了一下mybatis的配置文件,只有详细了解了,使用起来才可以迎刃有余。个人感觉理解的还比较粗浅,想深入学习的话,还是建议去参考一下官网的帮助文档,毕竟那里才是最新的,也是最权威的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值