IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 六、配置解析 -> 正文阅读

[大数据]六、配置解析

六、配置解析

6.1、配置

? 配置文档的顶层结构如下:

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

6.2、环境配置(environments)

? 1. MyBatis可以配置成适应多种环境。
? 2. 尽管可以配置多个环境,但每个SqlsessionFactory实例只能选择一种环境。
? 3. Mybatis默认的事务管理器就是JDBC。

6.3、属性(properties)

???这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。

  1. 编写一个配置文件(db.properties)

    drive=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/mybatis_study?useSSL=false&useUnicode=true&characterEncoding=UTF-8
    username=root
    password=root
    
  2. 在核心配置文件中引入

    <!--引入外部配置文件-->
    <properties resource="db.properties">
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </properties>
    
  3. 设置好的属性可以在整个配置文件中用来替换需要动态配置的属性值

    <dataSource type="POOLED">
        <property name="driver" value="${drive}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
    </dataSource>
    

注意:

(1) 可以直接引入外部文件。

(2) 可以在其中增加一些属性配置。

(3) 如果两个文件有同一个字段,优先使用外部配置文件。

6.4、类型别名(typeAliases)

? 1. 类型别名可为 Java 类型设置一个缩写名字。

? 2. 它仅用于 XML 配置,意在降低冗余的全限定类名书写。

? 3. 可以给实体类起一个别名,当这样配置时,User可以用在任何使用 com.baidu.pojo.User 的地方。

<typeAliases>
    <!--可以给实体类起别名-->
    <typeAlias type="com.baidu.pojo.User" alias="User"/>
</typeAliases>

??也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,扫描实体类的包,它的默认别名就是这个类的类名,首字母小写。

<typeAliases>
    <!--也可以指定一个包名,MyBatis会在包名下面搜索需要的Java Bean-->
    <package name="com.baidu.pojo"/>
</typeAliases>

??在实体类比较少的时候,使用第一种方式。如果实体类比较多,使用第二种方式。两种方式的区别是第一种可以自定义别名,但第二种则不行(如果想要改,可以在实体类上增加注解)

@Alias("user")
public class user{}

6.5、映射器(mappers)

MapperRegistry:注册绑定Mapper文件:

  1. 方式一:使用相对于类路径的资源引用【推荐使用】

    <!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册-->
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
    
  2. 方式二:使用class文件绑定注册

    <!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册-->
    <mappers>
        <mapper class="mapper.UserMapper"/>
    </mappers>
    

    注意点:

    (1)接口和Mapper配置文件必须同名!
    (2)接口和Mapper配置文件必须在同一个包下!

  3. 方式三:使用扫描包进行注入绑定

    <!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册-->
    <mappers>
        <package name="mapper"/>
    </mappers>
    

    注意点:

    (1)接口和Mapper配置文件必须同名!
    (2)接口和Mapper配置文件必须在同一个包下!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-24 00:37:48  更:2022-03-24 00:40:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:05:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码