MyBatis 解决上篇的参数绑定问题以及XML方式交互

前言

上文:MyBatis 初识简单操作-CSDN博客

上篇文章我们谈到的Spring中如何使用注解对Mysql进行交互

但是我们发现我们返回出来的数据明显有问题

我们发现后面三个字段的信息明显没有展示出来

下面我们来谈谈解决方案

解决方案

这里的原因本质上是因为mysql中和对象中的字段属性不一致导致的

所以我们这个时候可以让他们两个的名称强制相同,从而达成绑定

这里一共有三种解决方案,分别是

1.配置驼峰自动转换 

2.从sql层面重命名与对象中的字段属性一一对应

3.使用注解映射强行绑定

我们由难到简,慢慢来,先来测试使用sql重命名的方式

1.使用重命名方式

就是将数据库中的返回字段重命名成项目中对应的对象属性

直接完成任务

2.注解方式

然后我们再尝试一下注解的方式解决问题

如果我们有大量的表需要复用一样测重命名方式

我们可以使用另一个注解对其进行修饰,这样可以提高代码的简洁性

3.使用配置选项自动绑定

只需要在配置文件中加上这一行代码即可

他的功能就会自动将数据库中使用_连接的字段转化为驼峰来进行传输

也是非常的好用,无需手动修改代码,使程序更优雅

除了使用注解来完成与数据库的交互,我们还可以使用XML的方式来完成与数据库的交互,下面我们就来演示XML的方式完成交互

XML方式交互

这里首先需要先配置对应的xml文件

使用xml文件配置首先也需要指定xml文件路径,在配置文件里修改即可

这里我们的classpath指的resource文件夹下mapper文件夹下以Mapper结尾的xml文件

然后我们进行创建xml文件进行配置

注意修改这里的namespace

修改到对应好你需要实现的接口名即可

 这里书写xml文件和注解类似增删改是没有返回值的,无需指定返回值的全类名

查的时候需要指定对应的返回值的全类名

注:这里也会出现几种数据库和类之间名称不对应的情况,我们还是使用上述三种操作来进行对应的属性绑定,博主这里使用的是自动转换的方式进行绑定

xml绑定方式

总结

1.配置yml文件设置xml方式

2.创建xml文件  修改xml文件对应的实现接口

3.书写接口 在xml文件中对应标签

4.书写标签即可运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/588292.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

社交互动:探讨Facebook对用户互动的影响

在当今数字化时代,社交网络已经成为了人们日常生活中不可或缺的一部分。而作为最著名的社交网络平台之一,Facebook不仅连接了全球数十亿用户,还对用户的社交互动产生了深远的影响。本文将深入探讨Facebook对用户互动的影响,以及它…

c模板编程c/c++20240401

c模板编程 #include<iostream> //#include<string> //#include<algorithm> template <typename T> T max(T a, T b) { return (a > b) ? a : b; } int main() { int i max(1, 2); // 返回 2 float f max(3.14f, 2.72f); // 返回 3…

C刊级 | Matlab实现GWO-BiTCN-BiGRU-Attention灰狼算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测

C刊级 | Matlab实现GWO-BiTCN-BiGRU-Attention灰狼算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测 目录 C刊级 | Matlab实现GWO-BiTCN-BiGRU-Attention灰狼算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测效果一览基本介绍程序设计参考…

HarmonyOS入门-ArkTS学习(一)

1. 什么是ArkTS语言 学习之前&#xff0c;我们先初步了解下什么是ArkTS 官方指南这样介绍&#xff1a; ArkTS是TS的超集&#xff0c;ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力&#xff0c;再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共…

矩阵空间秩1矩阵小世界图

文章目录 1. 矩阵空间2. 微分方程3. 秩为1的矩阵4. 图 1. 矩阵空间 我们以3X3的矩阵空间 M 为例来说明相关情况。目前矩阵空间M中只关心两类计算&#xff0c;矩阵加法和矩阵数乘。 对称矩阵-子空间-有6个3X3的对称矩阵&#xff0c;所以为6维矩阵空间上三角矩阵-子空间-有6个3…

使用docker-tc对host容器进行限流

docker-tc是一个github开源项目&#xff0c;项目地址是https://github.com/lukaszlach/docker-tc。 运行docker-tc docker run -d \ --name docker-tc \ --network host \ --cap-add NET_ADMIN \ --restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /var…

ios问题记录

背景&#xff1a; 本地xocode 上传文件到 testflight&#xff0c;显示是上传成功了的。 但是网页中 testflight 中并没有上传的版本。查看邮件 发现下面的 Please correct the following issues and upload a new binary to App Store Connect. ITMS-90683: Missing purpos…

STM32-03基于HAL库(CubeMX+MDK+Proteus)输入检测案例(按键控制LED)

文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式&#xff0c;生成代码四、MDK打开生成项目&#xff0c;编写HAL库的按键检测代码五、运行仿真程序&#xff0c;调试代码 一、功能需求分析 搭建完成开发STM32开发环境之后&#xff0c;开始GPIO…