Mybatis快速入门--全局配置文件(二)(优化版)

简介: Mybatis快速入门--全局配置文件(二)(优化版)

plugins插件


插件是MyBatis提供的一个非常强大的机制,我们可以通过插件来修改MyBatis的一些核心行为。插件通过动态代理机制,可以介入四大对象的任何一个方法的执行


environments环境


尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。

所以,如果你想连接两个数据库,就需要创建两个 SqlSessionFactory 实例,每个数据库对应一个。而如果是三个数据库,就需要三个实例,依此类推,记起来很简单:

  • 每个数据库对应一个 SqlSessionFactory 实例

MyBatis可以配置多种环境,比如开发、测试和生产环境需要有不同的配置。

每种环境使用一个environment标签进行配置并指定唯一标识符

可以通过environments标签中的default属性指定

一个环境的标识符来快速的切换环境

id:指定当前环境的唯一标识

transactionManager、和dataSource都必须有

<environments default="development">
    <environment id="development"> 
        <transactionManager type="JDBC"/> 
        <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>

这个就很好理解了,一些环境和配置信息~


dataSource


有这些类型: UNPOOLED | POOLED | JNDI | 自定义

  1. UNPOOLED:不使用连接池,UnpooledDataSourceFactory
  2. POOLED:使用连接池, PooledDataSourceFactory
  3. JNDI: 在EJB 或应用服务器这类容器中查找指定的数据源
  4. 自定义:实现DataSourceFactory接口,定义数据源的获取方式。

• 实际开发中我们使用Spring管理数据源,并进行事务控制的配置来覆盖上述配置


mapper映射


重头戏它来了

既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要来定义 SQL 映射语句了。 但首先,我们需要告诉 MyBatis 到哪里去找到这些语句。 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射文件。

我们通过在全局配置文件进行注册

<mappers>  
    <mapper resource="org/mybatis/builder/AuthorMapper.xml"/> 
    <mapper url="file:///var/mappers/AuthorMapper.xml"/>
    <mapper class="org.mybatis.builder.AuthorMapper"/>
</mappers>

这种方式有待提高,比较麻烦写一个注册一个。我们可以通过批量注册!

• 这种方式要求SQL映射文件名必须和接口名相同并且在同一目录下

<!--    将我们写好的sql映射文件一定要注册到全局配置文件中-->    
<mappers>
    <!--        <mapper resource="EmployeeMapper.xml"/>-->
    <!--        <mapper class="com.caq.mybatis.dao.EmployeeMapperAnnotation"/>-->
    <!--        批量注册--> 
    <package name="com.caq.mybatis.dao"/>  
</mappers>



相关文章
|
1月前
|
SQL Java 数据库连接
MyBatis-Plus快速入门:从安装到第一个Demo
本文将带你从零开始,快速入门 MyBatis-Plus。我们将首先介绍如何安装和配置 MyBatis-Plus,然后通过一个简单的示例演示如何使用它进行数据操作。无论你是 MyBatis 的新手还是希望提升开发效率的老手,本文都将为你提供清晰的指导和实用的技巧。
173 0
MyBatis-Plus快速入门:从安装到第一个Demo
|
6月前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
81 6
|
3月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
54 1
|
5月前
|
SQL Java 数据库连接
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
96 3
|
5月前
|
SQL 缓存 Java
使用MyBatis优化Java持久层操作
使用MyBatis优化Java持久层操作
|
6月前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
75 3
|
6月前
|
Java 数据库连接 API
后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解
后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解
66 3
|
5月前
|
SQL 缓存 Java
使用MyBatis优化Java持久层操作
使用MyBatis优化Java持久层操作
|
5月前
|
XML Java 数据格式
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
|
5月前
|
Java 数据库连接 Maven
Private method ‘getVideoList()‘ is never used,mybatis必须指定Mapper文件和实体目录,在参考其他人写的代码,要认真分析别人的代码,不要丢失
Private method ‘getVideoList()‘ is never used,mybatis必须指定Mapper文件和实体目录,在参考其他人写的代码,要认真分析别人的代码,不要丢失