码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mybatis核心配置文件中的标签介绍


    0. 标签顺序

    Mybatis核心配置文件中有很多标签,它们谁谁写在前写在后其实是💥有顺序💥要求的:

    从前到后:

    properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?

    像properties要在typeAliases之前,typeAliases要在mappers之前

    1. typeAliases和typeAlias

    <typeAliases>
    	<typeAlias type="com.atguigu.mybatis.pojo.User" alias="abc">typeAlias>
    typeAliases>
    

    image-20220818215516622

    typeAlias:设置某个类型的别名

    属性:

    • type:设置需要的实体类型的别名

    • alias:设置某个类型的别名,若不设置该属性,💥默认别名为其类名且不区分大小写

      <typeAlias type="com.atguigu.mybatis.pojo.User>
      

      例如这个不写alias,默认别名为User,不区分大小写

    2. package

    当实体类过多是,一般不采用一个个写typeAlias别名的做法,而是通过包设置别名。

    <typeAliases>
    	<package name="com.atguigu.mybatis.pojo"/>
    typeAliases>
    

    package:以包为单位,将包下💦所有的类型设置默认的类型别名,即类名且不区分大小写

    3. mappers和mapper

    <mappers>
    	<mapper resource="mappers/UserMapper.xml"/>
    mappers>
    

    mapper:引入mybatis的映射文件

    • ❄️🌀ke问题:当映射文件过多时,会出现与typeAlias一样的问题。

    • ☀️解决方法:使用package标签以包为单位引入映射文件,和typeAlias类似 。

      <mappers>
      	<package name="com.atguigu.mybatis.mapper"/>
      mappers>
      
    • 🐔🐬package标签的使用有两个要求:

      • mapper接口所在的包要和映射文件所在的包一致

      • mapper接口要和映射文件的名字一致

      image-20220818222650873
    • 注意上面映射文件这里com.atguigu.mybatis.mapper是一个包,打开本地目录后是这样的,而不是一个文件夹名

      image-20220818223246598

      怎么创建这样一个包呢??

      1. image-20220818223620325
      2. image-20220818223817574
    • 为什么mapper接口文件和映射文件要设置为😠同一包目录??

      image-20220818224840984

      因为这样最终加载完接口文件和映射文件是在同一目录下放在一起的。

    4. 总结

    部分内容来自🌹🌹 B站尚硅谷课程 🌹。老师讲得很好,有兴趣的可以听听。

  • 相关阅读:
    HTML+CSS
    【前端设计模式】之代理模式
    在STM32F407的BSP基础上将RT-Thread移植到STM32F303VCT6上
    elementUI从接口获取数据,重新组合下拉参数
    快讯 | ALVA 荣获首届“格物杯”联通物联网应用创新大赛复赛一等奖!
    Lua中文语言编程源码-第五节,更改lcorolib.c协程库函数, 使Lua加载中文库关键词(与所有的基础库相关)
    Qt之分类导航主界面
    借助MLOps平台简化联邦学习工作流程
    基于STM32+RFID设计的宿舍检修管理系统
    文章发布系统的设计与实现
  • 原文地址:https://www.cnblogs.com/tianaqiang/p/16600508.html
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号