热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mybatis持久层框架|Mapper加载方式、目录结构解析

💗wei_shuo的个人主页💫wei_shuo的学习社区🌐HelloWorld!Mapper(resource、cla

在这里插入图片描述

💗wei_shuo的个人主页

💫wei_shuo的学习社区

🌐Hello World !




Mapper(resource、class、package)加载方式


resource方式加载


通过resource或url加载单个mapper,接口文件与映射文件不在同一路径下,只能用resource方式加载


在这里插入图片描述



<mappers>
<mapper resource&#61;"com/wei/dao/StudentMapper.xml"/>
<mapper resource&#61;"com/wei/dao/TeacherMapper.xml"/>
mappers>


class方式加载


接口文件与映射文件在同一路径下&#xff0c;接口名与映射文件名相同&#xff0c;并且映射文件命名为接口全类名


在这里插入图片描述



<mappers>
<mapper class&#61;"com.UserMapper"/>
mappers>


package方式加载


接口文件与映射文件在同一路径下&#xff0c;接口名与映射文件名相同&#xff0c;并且映射文件命名为接口全类名

  • 类似class方式加载&#xff0c;只不过这里通过加载package的方式


在这里插入图片描述



<mappers>
<mapper package&#61;"com.wei.dao"/>
mappers>


Mybatis目录结构解析



  • dao


    • Dao接口是Mapper的接口

    • 接口的全限名就是映射文件中的namespace的值

    • 接口的方法名就是映射文件中的MappedStatementid

    • 接口方法内的参数&#xff0c;就是传递给sql的参数


  • pojo


    POJO实质上可以理解为简单的实体类&#xff0c;顾名思义POJO类的作用是方便程序员使用数据库中的数据表&#xff0c;对于广大的程序员&#xff0c;可以很方便的将POJO类当做对象来进行使用&#xff0c;当然也是可以方便的调用其get,set方法

  • util


    utils是多用途,工具性质的包。这个包中主要放了:集合类(如ArrayList、HashMap等)、随机数产生类、 属性文件读取类、定时器类、翻页工具类等,包含了日期转换、字符串处理、获取编译环境等信息。 这些类极大地方便了Java编程,日常 开发中,经常要用来这些类

  • service


    接口&#xff0c;纯粹的抽象类&#xff0c;未被实现的抽象方法

    • abst包&#xff1a;抽象包&#xff0c;包中的类叫抽象类。实现service包中的接口&#xff0c;但是只实现对dao层进行直接调用的方法&#xff08;对数据的增删改查&#xff09;&#xff0c;其他方法保持不变。由于类里存在未被实现的抽象方法&#xff0c;因此被称为抽象类&#xff0c;所在的包则为抽象包
    • impl包&#xff1a;实现包&#xff0c;下面的类叫实现类&#xff0c;继承abst包的类&#xff0c;实现service包中接口&#xff0c;只实现abst类中未被实现的抽象方法&#xff0c;即接口中独有的方法&#xff0c;无法通过直接调用dao层去实现的方法

  • mapper


    mapper层&#xff0c;其实就是dao层&#xff0c;主要是做数据持久层的工作&#xff0c;负责与数据库进行联络的一些任务都封装在此&#xff0c;是Dao接口的映射文件

  • controller


    制层负责接收参数&#xff0c;调用相关业务层&#xff0c;封装数据&#xff0c;以及路由到jsp页面。然后jsp页面上使用各种标签&#xff08;jstl/el&#xff09;或者手写java&#xff08;<%&#61;%>&#xff09;将后台的数据展现出来

  • mybatis-config.xml


    mybatis-config.xml是MyBatis核心配置文件&#xff0c;该文件配置了MyBatis的一些全局信息&#xff0c;包含数据库连接信息和Mybatis运行时所需的各种特性&#xff0c;以及设置和影响Mybatis行为的一些属性

  • mapper.xml


    mapper.xml文件中有一个极其重要的mapper标签&#xff0c;在这个mapper标签里面保存了增删改查等子标签&#xff0c;在这些子标签里面写对应的增删改查的sql语句&#xff0c;mapper.xml是dao接口中的映射文件





&#x1f33c; 结语&#xff1a;创作不易&#xff0c;如果觉得博主的文章赏心悦目&#xff0c;还请——点赞&#x1f44d;收藏⭐️评论&#x1f4dd;冲冲冲&#x1f91e;



在这里插入图片描述






推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
author-avatar
nancy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有