九、持久层框架设计实现及MyBatis源码分析-MyBatis基础回顾及高级应用-MyBatis相关配置文件回顾(四)

上一章节通过MyBatis框架,我们实现了基础的增删改查操作,本章节我们对MyBatis相关配置文件进行讲解

一、入门级映射配置文件分析

映射配置文件简单的做一个概述,如下图所示


MyBatis映射配置文件概述.png

除了上图中说明的,还有一个parameterType进行补充,表示当前方法的参数类型,在执行的sql语句当中占位符需要与parameterType对应实体类的属性保持一致,如UserMapper.xml的saveUser方法就使用到了parameterType属性

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="study.lagou.com.mapper">

    <!--添加用户-->
    <insert id="saveUser" parameterType="study.lagou.com.pojo.User">
        INSERT INTO user VALUES (#{id},#{username},#{password},#{nickname})
    </insert>
</mapper>

二、入门核心配置文件分析

MyBatis核⼼配置⽂件层级关系

● configuration 配置
    ○ properties 属性
    ○ settings 设置
    ○ typeAliases 类型别名
    ○ typeHandlers 类型处理器
    ○ objectFactory 对象工厂
    ○ plugins 插件
    ○ environments 环境
         ◆ environment 环境变量
             ◇ transactionManager 事务管理器
             ◇ dataSource 数据源
    ○ databaseIdProvider 数据库厂商标识
    ○ mappers 映射器

三、MyBatis常用核心配置文件解析

1、environments标签

数据库环境的配置,⽀持多环境配置


MyBatis核心配置文件environments图解.png
1.1、事务管理器(transactionManager)类型有两种:

• JDBC:这个配置就是直接使⽤了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作⽤域。
• MANAGED:这个配置⼏乎没做什么。它从来不提交或回滚⼀个连接,⽽是让容器来管理事务的整个⽣命周期(⽐如 JEE 应⽤服务器的上下⽂)。 默认情况下它会关闭连接,然⽽⼀些容器并不希望这样,因此需要将 closeConnection 属性设置为 false 来阻⽌它默认的关闭⾏为。

1.2、数据源(dataSource)类型有三种:

•UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭连接。
•POOLED:这种数据源的实现利⽤“池”的概念将 JDBC 连接对象组织起来。
•JNDI:这个数据源的实现是为了能在如 EJB 或应⽤服务器这类容器中使⽤,容器可以集中或在外部配置数据源,然后放置⼀个 JNDI 上下⽂的引⽤。

2、mapper标签

该标签的作⽤是加载映射的,加载⽅式有如下⼏种:

•使⽤相对于类路径的资源引⽤,例如:
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
•使⽤完全限定资源定位符(URL),例如:
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
•使⽤映射器接⼝实现类的完全限定类名,例如:
<mapper class="org.mybatis.builder.AuthorMapper"/>
•将包内的映射器接⼝实现全部注册为映射器,例如:
<package name="org.mybatis.builder"/>

上一篇笔记地址:https://www.jianshu.com/p/eed654b0c080

下一篇笔记地址:https://www.jianshu.com/p/f138ca176525

具体代码对应下载地址:https://gitee.com/happymima/mybatis.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容