iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何用MyBatis全局配置文件
  • 831
分享到

如何用MyBatis全局配置文件

2023-06-20 14:06:11 831人浏览 安东尼
摘要

这篇文章主要讲解了“如何用mybatis全局配置文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用MyBatis全局配置文件”吧!目录MyBatis全局配置文件settings 设置t

这篇文章主要讲解了“如何用mybatis全局配置文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用MyBatis全局配置文件”吧!

目录
  • MyBatis全局配置文件

    • settings 设置

    • typeAliases 类型命名

    • 存在的问题:

    • @Alias("")

      • environments 环境

      • transactionManager 事务管理器

      • JDBC:JdbcTransactionFactory

      • databaseIdProvider 数据库厂商标识

    • DB_VENDOR

      • 变短

      • sql映射文件

  • 总结

    MyBatis全局配置文件

    MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。文档的

    顶层结构如下:

    • configuration 配置

    • properties 属性

    • settings 设置

    • typeAliases 类型命名

    • typeHandlers 类型处理器

    • objectFactory 对象工厂

    • plugins 插件

    • environments 环境

    • environment 环境变量

    • transactionManager 事务管理器

    • dataSource 数据源

    • databaseIdProvider 数据库厂商标识

    • mappers 映射器

    properties 属性

    mybatis 可以使用properties来引入外部properties配置文件的内容

    resource:引入类路径下的资源

    url:引入网络路径或者磁盘路径下的资源

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

    如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载:

    • 在 properties 元素体内指定的属性首先被读取。

    • 然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性。 – 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。

    settings 设置

    这是 MyBatis 中极为重要的调整设置,它们会改变MyBatis 的运行时行为。

    setting包含很多重要的设置项

    setting:用来设置每一个设置项

    name:设置项名

    value:设置项的取值

    mapUnderscoreToCamelCase:驼峰命名 last_name -> lastName

    <settings>        <setting name="mapUnderscoreToCamelCase" value="true"/>    </settings>

    如何用MyBatis全局配置文件

    typeAliases 类型命名

    typeAliases:可以批量设置别名这个包下的每一个类

    别名不区分大小写

    创建一个默认的别名,就是简单类名小写

    typeAlias:为某个java类型起别名

    type:指定要起别名的类型全类名;默认别名就是类名小写:employee

    alias:指定新的别名

    如何用MyBatis全局配置文件

    package:为某个包下的所有类批量起别名

    name:指定包名(为当前包下以及下面所有的后代包的每一个类都起一个默认的别名(类名小写))

    如何用MyBatis全局配置文件

    存在的问题:

    假设bean包下有一个类Employee,同时在bean包下有一个子包也有一个类叫Employee,此时这两个包的类名就会冲突,因此还可以使用注解的放上为类创建别名

    @Alias("")

    public class Employee{}

    如何用MyBatis全局配置文件

    值得注意的是,MyBatis已经为许多常见的 Java 类型内建了相应的类型别名。它们都是大小写不敏感的,我们在起别名的时候千万不要占用已有的别名。

    如何用MyBatis全局配置文件

    environments 环境

    mybatis可以配置多种环境 default指定使用某种环境,可以达到快速切换

    environments:配置一个具体的环境信息;必须有两个标签,id代表当前环境的唯一标识

    transactionManager 事务管理器

    type:事务管理器的类型 [JDBC(使用了 JDBC 的提交和回滚设置,依赖于从数据源得到的连接来管理事务范围。)|MANAGED(不提交或回滚一个连接、让容器来管理事务的整个生命周期(比如 JEE应用服务器的上下文))]

    JDBC:JdbcTransactionFactory

    自定义事务管理器 实现TransactionFactory接口即可

    dataSource 数据源

    type:数据源的类型 [UNPOOLED(不使用连接池)|POOLED(使用连接池)|JNDI(在EJB 或应用服务器这类容器中查找指定的数据源)]

    自定义数据源 实现DataSourceFactory接口

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

    如何用MyBatis全局配置文件

    databaseIdProvider 数据库厂商标识

    databaseIdProvider: 可以根据不同的数据库厂商执行不同的语句。

    type:数据库类型 DB_VENDOR

    作用就是得到数据库厂商标识(驱动自带的),mybatis就能根据数据库厂商标识来执行不同的sql

    MYSQL oracle SQL Server

    value:为标识起一个别名,方便SQL语句使用databaseId属性引用

    如何用MyBatis全局配置文件

    如何用MyBatis全局配置文件

    DB_VENDOR

    会通过 DatabaseMetaData#getDatabaseProductName() 返回的字符串进行设置。由于通常情况下这个字符串都非常长而且相同产品的不同版本会返回不同的值,所以最好通过设置属性别名来使其

    变短

    MyBatis匹配规则如下:

    • 如果没有配置databaseIdProvider标签,那么databaseId=null

    • 如果配置了databaseIdProvider标签,使用标签配置的name去匹配数据库信息,匹配上设置databaseId=配置指定的值,否则依旧为null

    • 如果databaseId不为null,他只会找到配置databaseId的sql语句

    • MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库databaseId 属性的所有语句。如果同时找到带有 databaseId 和不带databaseId 的相同语句,则后者会被舍弃。

    mappers 映射器

    mapper:注册一个sql映射

    注册配置文件

    resource:引用类路径下的sql映射文件

    url:用网路路径下的或者磁盘路径下的sql映射文件

    注册接口

    class:引应用接口

    • 接口映射文件,映射文件名必须和接口同名,并且放在同一个目录下

    • 没有sql映射文件,所有的sql利用注解写在接口上

    注解写在接口上

    推荐:比较重要和复杂额Dao接口写sql映射文件,不重要的简单的为了开发快速可以使用注解

    如何用MyBatis全局配置文件

    package:批量注册

    如何用MyBatis全局配置文件

    sql映射文件

    namespace:名称空间;指定为接口的全类名

    id:唯一标识

    resultType:返回值类型

    #{id}:从传递过来的参数中取出id值

    <?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="school.xauat.mybatis.dao.EmployeeMapper">    <select id="getEmpById" resultType="employee" >        select * from tbl_employee where id = #{id}    </select>    <select id="getEmpById" resultType="employee" databaseId="Mysql">        select * from tbl_employee where id = #{id}    </select>    <select id="getEmpById" resultType="employee" databaseId="oracle">        select * from tbl_employee where id = #{id}    </select></mapper>

    总结

    接口是编程

    原生: Dao -----> DaoImpl

    Mybatis: Mapper -----> xxMapper.xml

    SqlSession代表和数据库的一次会话,用完必须关闭

    SqlSession和connection一样,都是非线程安全的。每次使用都应该获取新的对象

    mapper接口没有实现类,但是Mybatis会为这个接口生成一个代理对象(将接口和xml进行绑定)

    EmployeeMapper empMapper = SqlSession.getMapper(Employee.class);

    两个重要的配置文件

    mybatis的全局配置文件;包含数据库连接池信息,事务管理器信息,系统运行信息

    sql映射文件:保存了每一个SQL语句的映射信息

    将sql抽取出来

    感谢各位的阅读,以上就是“如何用MyBatis全局配置文件”的内容了,经过本文的学习后,相信大家对如何用MyBatis全局配置文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    --结束END--

    本文标题: 如何用MyBatis全局配置文件

    本文链接: https://www.lsjlt.com/news/297665.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 如何用MyBatis全局配置文件
      这篇文章主要讲解了“如何用MyBatis全局配置文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用MyBatis全局配置文件”吧!目录MyBatis全局配置文件settings 设置t...
      99+
      2023-06-20
    • MyBatis全局配置文件详解
      目录MyBatis全局配置文件settings设置typeAliases类型命名存在的问题:@Alias("")environments环境transactionManager事务管...
      99+
      2022-11-12
    • Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析
      前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发MyBatis的全局配置文件SqlMapConfig.xml,配置内容和顺序如下:properties(属性...
      99+
      2023-05-31
      mybatis 配置文件 spring+springmvc+mybatis
    • app.json文件全局配置的方法
      本文小编为大家详细介绍“app.json文件全局配置的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“app.json文件全局配置的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。  app.json文件用...
      99+
      2023-06-26
    • springboot全局配置文件与多环境配置的全过程
      目录1、全局配置文件2、多环境配置附:加载多环境配置总结1、全局配置文件 新建一个springboot项目它的resources目录下有一个application.propertie...
      99+
      2022-11-12
    • 关于maven全局配置文件settings.xml解析
      目录settings.xml有什么用?settings.xml文件位置配置优先级settings.xml元素详解顶级元素概览LocalRepositoryInteractiveMod...
      99+
      2022-11-13
    • Mybatis是如何解析配置文件的
      本篇内容主要讲解“Mybatis是如何解析配置文件的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mybatis是如何解析配置文件的”吧!在以前文章中,我们把M...
      99+
      2022-10-19
    • 如何在Mybatis中设置全局变量
      这期内容当中小编将会给大家带来有关如何在Mybatis中设置全局变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mybatis可以设置全局变量,可以用于数据库类型的标示,比如:dbType=oracle...
      99+
      2023-05-31
      mybatis 全局变量 中设置
    • 如何配置feign全局log
      目录SpringBoot集成feign配置全局log概述设置Feign接口日志级别为FULLfeign常用配置Feign的组成首先如何整合Feign如何给Feign添加日志级别细粒度...
      99+
      2022-11-13
    • SpringBoot使用Mybatis&Mybatis-plus文件映射配置方法
      简介: Springboot使用Mybatis&Mybatis-plus 两者文件映射配置略有不同,之前我用的是Mybatis,但公司用Mybatis-plus;自己新建了一...
      99+
      2022-11-12
    • Tomcat全局日志如何配置
      这篇文章主要介绍Tomcat全局日志如何配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Tomcat全局日志配置介绍如果我们在production环境中有许多web application, 一般来说我们都是每个a...
      99+
      2023-06-18
    • git如何取消全局配置
      这篇文章主要讲解了“git如何取消全局配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git如何取消全局配置”吧!取消全局配置的方法:1、在终端执行“git config --global...
      99+
      2023-06-26
    • 如何解析MyBatis信用盘系统搭建配置文件
      如何解析MyBatis信用盘系统搭建配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。<xml version="1.0" enc...
      99+
      2023-06-04
    • vue如何在main.js中配置全局的通用公共组件
      目录在main.js中配置全局的通用公共组件vue.js全局组件的三种方式全局组件第一种方式,单引号(或双引号)第二种方式反引号第三种方式外部ID总结在main.js中配置全局的通用...
      99+
      2023-01-13
      vue main.js main.js配置公共组件 全局通用公共组件
    • Mybatis中config.xml配置文件的作用是什么
      这篇文章给大家介绍Mybatis中config.xml配置文件的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  首先我们来看一下,一个空白的完整的Mybatis-config.xml文件(这个名字...
      99+
      2023-05-30
      mybatis config.xml
    • vue3配置全局参数(挂载全局方法)以及组件的使用
      目录vue2的方式1. 全局挂载2. 组件使用vue3的方式1. 全局挂载2. 组件使用vue2的方式 1. 全局挂载 Vue.property.xxx import Vue fro...
      99+
      2022-11-13
    • Mybatis配置映射文件中parameterType的用法讲解
      目录Mybatis配置映射文件parameterType用法1.基本数据类型2.复杂数据类型:包含java实体类,mapMybatis parameterType # $符号的注意事...
      99+
      2022-11-12
    • MyBatis 的 XML 配置文件和缓存使用步骤
      目录MyBatis缓存介绍MyBatis的XML整体介绍一、整体配置文件介绍二、Mybatis拦截器【不做要求】参考案例三、缓存使用步骤MyBatis缓存介绍 正如大多数持久层框架一...
      99+
      2022-11-13
    • Mybatis 如何在配置文件中给实体类起别名
      Mybatis 给实体类起别名 全局配置文件中的标签: 标签3: typeAliases 别名处理器 可以为java类型起别名 别名忽略大小写 原来: <select id...
      99+
      2022-11-12
    • activity如何设置布局文件
      在Android中,可以使用XML文件来设置布局文件。以下是一种常用的设置布局文件的方法:1. 打开Android Studio,创...
      99+
      2023-09-04
      activity
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作