核心配置的文件的"详解" -->(优化,核心配置文件)

“核心配置文件的前言”:

核心配置文件中的标签必须按照固定的顺序  ---> (“有的标签可以不写,但顺序一定不能乱”):
properties、
settings、
typeAliases、
typeHandlers、
objectFactory、
objectWrapperFactory、
reflectorFactory、
plugins、
environments、
databaseIdProvider、
mappers

1- 优化点:连接 "数据库" 的信息,用"jdbc.properties" 来映射进去。(1)

  • jdbc.properties "文件路径"

  • jdbc.properties文件

// "jdbc.properties文件'"

jdbc.driver=com.mysql.cj.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/learn_mybatis?serverTimezone=UTC

jdbc.username=root

jdbc.password=00000

2-优化点:类型别名(2)

  • 在resultType:默认的映射关系("表的字段"和"实体类的属性"一致)的情况-->使用

为什么使用“类型别名”

1-因为:
后期 "导入实体类的包" ,因为包名太长,而需要 "类型别名" 来简化 2-使用:
“核心配置” 文件用"类型别名"来简化后,在"映射文件"中可以用。
以“包”为单位,设置改包下所有的类型都拥有默认的别名,即类名且不区分大小写
  • 1-核心配置的内容

  • 2-映射文件的内容

因为  “核心配置文件”  以  “pojo包”  为单位,所以  “拥有默认的别名,即类名且不区分大小写”

比如我现在pojo包,下面有“User实体类”
核心配置文件已经配置了 “<typeAlias type="com.atguigu.pojo"></typeAlias>”
所以,我在“映射文件写User、user都可以。
而且,如果还有一个 “Studnt实体类”,我在“核心配置”文件也不需要修改,而且还能再在”映射文件“中直接写- Student、student

  • 经过“测试”成功,可以使用。

3-优化点:mapper,优化导入“映射文件”(3)

为什么“优化” - “核配置文件”的 <mappers>
// <mappers>的作用:用来导入“映射文件” 因为:
如果不优化为“以包为单位”,那一个“实体类的映射文件”就需要 -写一条 <mappers>,非常麻烦 所以:
以包为单位,将包下所有的映射文件引入核心配置文件
注意:
1. 此方式必须保证 "mapper接口" 和 "mapper映射文件" 必须在相同的包下
2. "mapper接口" 要和 "mapper映射文件" 的名字一致

细节点:
在resources下面,新建“包结构”,需要用/线。
已我的这个为例子:com/atguigu/mapper ,才可以新建“包结构”
  • 3.1-在“核心文件”使用:

<!-- 引入MyBatis的映射文件 -->
<mappers>
<!-- <mapper resource="Mappers.UserMapper.xml"/> -->
<!--
以包为单位,将包下所有的映射文件引入核心配置文件
注意:
1. 此方式必须保证 "mapper接口" 和 "mapper映射文件" 必须在相同的包下
2. "mapper接口" 要和 "mapper映射文件" 的名字一致
-->
<package name="com.atguigu.mapper"/>
</mappers>

MyBatis_03(核心配置文件解析)的更多相关文章

  1. Mybatis配置解析(核心配置文件)

    4.配置解析 4.1.核心配置文件 Mybatis的配置文件包含了会深深影响mybatis行为的设置和属性信息 mybatis-config.xml properties(属性)重点 settings ...

  2. Nginx核心配置文件常用参数详解

    Nginx核心配置文件常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于Nginx权威文档的话童鞋们可以参考Nginx官方文档介绍:http://nginx.org/ ...

  3. MyBatis基础入门《五》核心配置文件

    MyBatis基础入门<五>核心配置文件 描述: 在前面的章节中,简单的学习使用了一下mybatis,对于配置文件没有过多详细说明. 这里先描述项目中的一个核心配置文件:mybatis-c ...

  4. SpringMVC深度探险(四) —— SpringMVC核心配置文件详解

    在上一篇文章中,我们从DispatcherServlet谈起,最终为读者详细分析了SpringMVC的初始化主线的全部过程.整个初始化主线的研究,其实始终围绕着DispatcherServlet.We ...

  5. ibatis源码学习2_初始化和配置文件解析

    问题在详细介绍ibatis初始化过程之前,让我们先来思考几个问题. 1. ibatis初始化的目标是什么?上文中提到过,ibatis初始化的核心目标是构造SqlMapClientImpl对象,主要是其 ...

  6. Centos7 nginx的目录结构与nginx主配置文件解析

    一.nginx的目录结构 [root@node nginx_116]# ls client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp ...

  7. mybatis源码配置文件解析之一:解析properties标签

    mybatis作为日常开发的常用ORM框架,在开发中起着很重要的作用,了解其源码对日常的开发有很大的帮助.源码版本为:3-3.4.x,可执行到github进行下载. 从这篇文章开始逐一分析mybati ...

  8. mybatis源码配置文件解析之二:解析settings标签

    在前边的博客中分析了mybatis解析properties标签,<mybatis源码配置文件解析之一:解析properties标签>.下面来看解析settings标签的过程. 一.概述 在 ...

  9. mybatis源码配置文件解析之三:解析typeAliases标签

    在前边的博客在分析了mybatis解析settings标签,<mybatis源码配置文件解析之二:解析settings标签>.下面来看解析typeAliases标签的过程. 一.概述 在m ...

  10. mybatis源码配置文件解析之五:解析mappers标签

    在上篇博客中分析了plugins标签,<mybatis源码配置文件解析之四:解析plugins标签>,了解了其使用方式及背后的原理.现在来分析<mappers>标签. 一.概述 ...

随机推荐

  1. EPICS Archiver Appliance在Centos7的定制部署

    EPICS Archiver Appliance的定制部署1 EPICS Archiver Appliance的定制部署2 上面两篇是在Centos8下成功,后来又想在Centos7下跑成功,按上面的 ...

  2. 一篇文章让你了解这个基于树莓派而设计的工业计算机-CM4 Industrial

    CM4 Industrial是一款基于 Raspberry Pi / 树莓派 Compute Module 4,由EDATEC面向工业应用设计的嵌入式计算机设计的工业嵌入式计算机.系统可以根据不同的应 ...

  3. .net 中的几种事务

    在一个MIS系统中,没有用事务那就绝对是有问题的,要么就只有一种情况:你的系统实在是太小了,业务业务逻辑有只要一步执行就可以完成了.因此掌握事务处理的方法是很重要,进我的归类在.net中大致有以下4种 ...

  4. Vue3 自定义指令执行了两次的问题

    下面是我注册全局指令的代码,这是我注册的一个通过 hljs 解析 html -> pre code 的指令,数据是异步获取的: app.directive("parse-code&qu ...

  5. nginx编译安装以及常用参数详解

    1 基于ansible role实现编译安装nginx 利用ansible控制端10.0.0.8机器,在被控制端10.0.0.18上部署nginx 首先打通ansible控制端与被控制端的基于key验 ...

  6. 支持管道、重定向、*匹配的miniShell

    先上成果图 源代码 仅供技术点的分享,抄袭者就算了,所以main.c就不贴了 /* * split_line.c */ #include <stdio.h> #include <st ...

  7. 编程基础与python介绍

    思维导图 https://gitee.com/starry-tong/python-data/blob/pyimage/day02.png 1.计算机内部存储数据的原理 2.编程语言的发展史 3.py ...

  8. 域名_服务器_IP之间的关系

    目的: 近期在搞A服务器和云服务器,以及正式环境的B服务器的时候,多次搞不清楚域名,IP的关系. 现在理解看来: IP 分为内网和外网的,以A为例,A是内网的IP,然后申请下来的外网IP是B(还真忘了 ...

  9. [后端-python实战总结]-chapter1-python基础01

    1.1 week 1 > 密码秘文: import getpass username = input('username:') passwd = getpass.getpass('passwd: ...

  10. PHP 网页 apache24+php8 yii basic

    PHP官网下载 https://windows.php.net/download/ 在PHP官网点击Download下载时不管选择哪个版本的都有两个类型 : Non Thread Safe(非线程安全 ...