当前位置: 首页 > ai >正文

Mybatis--创建mapper接口

创建mapper接口

MyBatis中的mapper接口相当于以前的dao(原来的dao是有dao的接口以及dao的实现类)。但是区别在于,mapper仅仅是接口,我们不需要提供实现类。因为我们的mybatis里面有面向接口编程,只需要创建mapper接口,当我们通过mybatis中的方式去创建mapper接口的对象,然后调用这个接口中的方法,就会自动对应某个sql语句,并且执行。

接下来创建mapper接口,表,实体类

1.

2.要明白仍然需要将数据库中的数据转换成java中的数据,即我们数据库查询的数据转换的其实就是实体类对象(保证字段名和属性名一致,用的反射---把我们查找出来的字段名作为我们当前的属性名,然后查找这个属性并且为它赋值)

3.创建mapper接口,相当于我们原来的dao(dao取名应该和我们操作的表和它对应的实体类相关,即这里UserMapper)(为什么要创建这个接口,因为Mybatis里面有面向接口编程的功能,每当我们去调用这个接口中的方法,它就自动匹配一个sql语句并且执行)

创建MyBatis的映射文件

- 相关概念:ORM(Object Relationship Mapping)对象关系映射。  

  - 对象:Java的实体类对象  

  - 关系:关系型数据库  

  - 映射:二者之间的对应关系

| Java概念 | 数据库概念 |

| 类-------->表 |

| 属性---->字段/列 |

| 对象----->记录/行 |

- 映射文件的命名规则

  - 表所对应的实体类的类名+Mapper.xml

  - 例如:表t_user,映射的实体类为User,所对应的映射文件为UserMapper.xml

(因为以后映射文件可能会有多个,它的命名规则与mapper接口一致,而我们的mapper接口又相当于dao,一张表操作相当于一个dao,即对应的一个mapper接口;有几张表就可能对应几个mapper接口和mapper映射文件)

(namespace的值和一个类的全类名一致,什么什么的mapper接口)

  - 因此一个映射文件对应一个实体类,对应一张表的操作

  - MyBatis映射文件用于编写SQL,访问以及操作表中的数据

  - MyBatis映射文件存放的位置是src/main/resources/mappers目录下

- MyBatis中可以面向接口操作数据,要保证两个一致(首先我们要明白调用这个mapper接口中的方法,就是来执行这个sql的)(id表示sql语句的唯一标识,我们的映射文件可以写一个sql也可以写多个,怎么让当前的所调用的方法去对应我们的这个sql语句)

  - mapper接口的全类名和映射文件的命名空间(namespace)保持一致

  - mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致

表--实体类--mapper接口--映射文件

核心映射文件和映射文件如下不同:所使用的dtd文件不同!

最后在核心映射文件添加映射文件

http://www.xdnf.cn/news/10800.html

相关文章:

  • IP话机和APP拨打电话的区别
  • Go语言学习-->从零开始搭建环境
  • FreeRTOS的简单介绍
  • 从0开始使用 Vue3 和 TypeScript 搭建项目详细教程
  • 1.Nodejs开发注意和前端区别
  • C语言:数据在内存中的存储
  • 关于list集合排序的常见方法
  • 《TCP/IP 详解 卷1:协议》第5章:Internet协议
  • 红黑树与红黑树的插入——用C++实现
  • Python----循环神经网络(BiLSTM:双向长短时记忆网络)
  • Rust 学习笔记:使用 cargo install 安装二进制 crate
  • 【氮化镓】GaN HMETs器件物理失效分析进展
  • NVIDIA CUDA Toolkit安装
  • 遥感影像建筑物变化检测
  • 前端与后端
  • [Java 基础]Java 是什么
  • 帝可得 - 设备管理
  • 谷歌地图高清卫星地图2026中文版下载|谷歌地图3D卫星高清版 V7.3.6.9796 最新免费版下载 - 前端工具导航
  • 阿里云为何,一个邮箱绑定了两个账号
  • Go语言学习-->第一个go程序--hello world!
  • xTimerChangePeriod无需先Stop
  • Ros(launch一键打开?)
  • 永磁同步电机无速度算法--互补滑模观测器
  • Unity-UI组件详解
  • 嵌入式复习小练
  • 【前端后端环境】
  • c++之STL容器的学习(上)
  • 用户退出了Token还能用?用Nest+Redis给JWT令牌加黑名单!
  • apisix + argorollout 实现蓝绿发布II-线上热切与蓝绿发布控制
  • 燃尽图和甘特图