美文网首页
Mybatis核心配置文件剖析

Mybatis核心配置文件剖析

作者: LCY_RAIN | 来源:发表于2020-08-31 16:24 被阅读0次

文章内容输出:拉勾教育java高薪训练营

Mybatis简介

在开始剖析Mybatis核心配置文件前,大家需要对Mybatis有一定的理解,并且知道Mybatis究竟是干什么的?我们学习任何一款框架都是要解决实际的问题,所以大家在学习框架之前首先都要明确几点:

1、为什么要学习Mybatis框架?
2、Mybatis框架的作用?
3、不用Mybatis框架可以解决现在的问题吗?

Mybaits是一款优秀的基于ORM的半自动轻量级持久层框架,它支持定制sql、存储过程以及高级映射。Mybatis几乎避免了所有JDBC代码和手动设置参数以及获取封装结果集。Mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和JAVA的POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。

Mybatis核心配置文件

对于什么是Mybatis的核心配置文件如果有同学还不知道可以去参考Mybatis之环境搭建这篇文章。对于有过Mybatis使用经验的同学们都知道Mybatis的核心配置文件就是:sqlMapConfig.xml,下面我们将要介绍一下究竟什么是sqlMapConfig.xml

Mybatis之sqlMapConfig.xml

从名称上看我们就知道Mybatis的核心配置文件是一个XML类型的文件。那么既然是XML的文件,必然就存在XML标签。下面我们就从核心配置文件的标签入手,剖析一下Mybatis的核心配置文件。

<?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>
        <environments default="dev">
            <environment id="dev">
            <transactionManager type="JDBC"/>
            <!-- 配置数据源信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/lgTest"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
             </dataSource>
        </environment>
    </environments>
    <!-- 引入mapper映射文件 -->
    <!-- 这个地方存在不同的引用方式 -->
    <mappers>
        <!-- 采用mapper标签进行引入 里面包含resource  class url等不同的引入方式 -->
        <!-- <mapper resource="com.lagou.mapper/UserMapper.xml" />-->
        <!-- 采用扫描包的形式来进行引入  通常采用这种方法进行配置 -->
        <package name="com.lagou.mapper"></package>
    </mappers>

</configuration>

一般标签

sqlMapConfig.xml配置文件中我们首先关注标签:
    // 这里需要注意的是,<environments>标签中的default指定的名称必须在当前环境中存在,否则执行报错
  (1)<environments>标签:从英文单词上说他就代表你的一个环境,并且可以通过default属性来指定默认的环境名称。
  (2) <environment> 标签:是指定当前环境的名称,并且可以通过ID来指定你的环境名称
  (3)<transactionManager>标签:指定事务管理类型,例如:JDBC,MANAGED
      a、JDBC: 这个配置就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。
      b、MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器管理事务的整个生命周期(比如JEE应用服务器上下文)。默认情况下他会关闭连接,然而一些容器并不希望这样,因此需要将closeConnection属性设置为false来阻止默认关闭的行为
  (4)<dataSource>标签:指定当前数据源类型,例如:POOLED,UNPOOLED,JNDI 
      a、POOLED:这种数据源的实现利用池的概念将JDBC连接对象组织起来
      b、UNPOOLED:这个数据源的实现只是每次请求时打开和关闭连接
      c、JNDI:这个数据源的实现是为了能在如EJB或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后当值一个JNDI上下文的引用。
  (5)<mapper>标签:该标签的作用是加载映射的,加载的方式有以下几种:
      a、使用相对路径加载资源的引用
      b、使用完全限定资源定位符(URL)
      c、使用映射器接口实现类的完全限定类名
      d、将包内的映射器接口实现全部注册为映射器

Properties标签

我们平常开发中习惯将数据源的信息单独抽取成一个properties文件,该标签可以加载额外的properties配置文件。

  <properties resource="jdbc.properties"></properties>

typeAliases标签

该标签可以配置java的别名,当配置了这个别名时,在mapper映射文件中方法的返回值使用别名即可。

 <!--  配置别名  -->
        <typeAliases>
            <typeAlias type="com.lagou.pojo.User" alias="user"/>
        </typeAliases>

mybatis为我们提供的别名列表,如下:

别名 数据类型
string String
long Long
int Integer
double Double
boolean Boolean
... ... ... ...

总结

Mybatis框架目前是主流框架,针对Mybatis的研究远远还没有结束,我们不仅要学会使用这款框架更要学习框架设计的思想。好了,看完本篇文章相信大家对Mybatis核心配置文件中的标签有了一定的了解。想要获取更多关于框架原理,设计模式等相关知识,请持续关注我哦!!!!

相关文章

  • Mybatis核心配置文件剖析

    文章内容输出:拉勾教育java高薪训练营 Mybatis简介 在开始剖析Mybatis核心配置文件前,大家需要对M...

  • JavaEE配置文件的头文件

    web3.0 Mybatis映射配置文件 Mybatis核心配置文件

  • MyBatis配置解析

    核心配置文件 mybatis-config.xml MyBatis 的配置文件包含了会深深影响 MyBatis 行...

  • Mybatis 学习(三) 配置解析

    1.核心配置文件 Mybatis-config.xml MyBatis 的配置文件包含了会深深影响 MyBatis...

  • 4、配置解析

    4、 配置解析 mybatis-config.xml 系统核心配置文件 MyBatis 的配置文件包含了会深深影响...

  • 配置文档

    spring整合mybatis固定书写 核心配置文件 springMVC固定配置 web.xml 核心配置文件 d...

  • 2020-04-03Mybatis

    Mybatis框架 Mybatis开发流程 1)引入Mybatis依赖2)创建核心配置文件、3)创建实体(Enti...

  • Mybatis的基本要素--核心对象

    大家好啊,今天呢来说下Mybatis的核心对象,也就是说基本三要素. 核心接口和类。 Mybatis核心配置文件(...

  • MyBatis入门程序

    步骤:1,创建Maven项目导入依赖(Mybatis+MySql)2,创建Mybatis核心配置文件(XML)3,...

  • Mybatis核心配置文件

    mybatis-config.xml系统核心配置文件 configuration(配置) properties(属...

网友评论

      本文标题:Mybatis核心配置文件剖析

      本文链接:https://www.haomeiwen.com/subject/gzwusktx.html