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.书写标签即可运行

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于粒子群算法的多目标搜索算法

粒子速度类似于梯度下降的方向 粒子群优化算法(Particle Swarm Optimization, PSO)的详细解读 - 知乎 (zhihu.com) 粒子群优化算法介绍 与多种群遗传算法有相似之处

未来购物新篇章:臻奶惠无人新零售

未来购物新篇章:臻奶惠无人新零售 随着科技的不断进步和消费者购物习惯的变化,无人新零售已经成为零售行业的一大趋势,它不仅重新定义了购物体验,也为零售行业带来了前所未有的变革。无人新零售,一种融合了AI技术、物…

保护Android应用安全:全面探究代码混淆在加固中的作用

Android APP 加固是优化 APK 安全性的一种方法,常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下 Android APP 加固的具体实现方式。 混淆代码 使用 ipaguard工具可以对代码进行混淆,使得反编译出来的代码很难阅读和理解&#xff…

c++的STL(6)-- map和multimap

map和multimap概述 map和multimap中存储的是使用pair对象的键值对。 map和multimap底层也是使用红黑树的数据结构进行实现的。所以,map和multimap内部存储的键值对也是有序的。并且内部数据也是使用链表的形式进行关联。所以其的迭代器和指针,也只能进行…

淘宝商品详情用于选品上架,数据分析,代购商城建站,ERP系统商品数据选品,价格监控业务场景

大数据时代, 数据收集不仅是科学研究的基石, 更是企业决策的关键。 然而,如何高效地收集数据 成了摆在我们面前的一项重要任务。 本文将为你揭示, 一系列实时数据采集方法, 助你在信息洪流中, 找到…

分享一个宝藏课程:近屿AIGC工程师和产品经理训练营

说起AIGC,大家都会自然地想到近两年火的一塌糊涂的ChatGPT,而开发出它的OpenAI,去年年底的年化收入已突破16亿美元,部分OpenAI的管理层认为,按目前进度,到2024年底,OpenAI的年化收入至少能达到50亿美元。而…

hyper-v安装 windows10虚拟机后,登录一直是锁屏界面,无法开启增强会话

按键盘等,一直在锁屏界面,进不去,需要点击 上述图片按钮,切到 “基本会话”, 这样可以登录了; 切换到 ‘基本会话’ ,登陆后, 打开 设置--登录选项--要求 Microsoft 账户使用Windo…

计算机网络面试问题(一)

1.在浏览器中输⼊URL并按下回⻋之后会发⽣什么 2.TCP三次握⼿的过程,为什么三次握手 TCP(传输控制协议)的三次握⼿是建⽴⽹络连接的过程,确保通信双⽅能够正确地进⾏数据传输。 第⼀次握⼿(SYN): 客户端&am…

【笔记】通过码云Gitee获取OpenHarmony源码

Note:下面包含操作过程和问题解决(首次安装Ubuntu,环境未完善),没有遇到问题可以直接跳过问题part了,小白也能完成配置下载。 前置准备(Git环境账号) (一)安…

Effective-C++阅读解析条款(条款二:尽量以const,enum,inline替换#define)

个人主页:Lei宝啊 愿所有美好如期而遇 书中说这个条款或许改为“宁可以编译器替换预处理器”比较好,这句话在我看来原因是这样的: 如果我们有这样一个宏(假设写这个宏的人比较粗心):#define Add(x, y) x y 我们本意是想得到…

“创新强基·应用强链”2024第104届上海电子展会

2024第104届上海电子展会 2024 Shanghai electron Expo 时间:2024年11月18--20日 地点:上海新国际博览中心 主题:创新强基应用强链 上海与长三角各地产业协同发展,到2025年,初步建成具有全球影响力和竞争力的世界级电子信息产业集群。产业链稳定性和韧…

黄金票据制作

1、黄金票据 黄金票据在内网渗透中主要用于权限维持,即留下后门。使用黄金票据前提是你已经控制了整个域的域控制器。其核心原理与服务器中的krbtgt用户相关。从以下可以了解krbtgt原理: 前言 | windows protocolhttps://daiker.gitbook.io/windows-pro…

DNDC模型对所有处理的土壤温度和湿度模拟效果良好,但有时土壤湿度模拟存在偏差

使用 DNDC 模型评估加拿大多样化作物轮作系统对产量和 N2O 排放的影响 原名:Assessing the impacts of diversified crop rotation systems on yields and nitrous oxide emissions in Canada using the DNDC model 译名:使用 DNDC 模型评估加拿大多样…

使用vite创建一个react18项目

一、vite是什么? vite 是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成: 一个开发服务器,它基于原生 ES 模块提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR)。 …

站群CMS系统

站群CMS系统是一种用于批量建立和管理网站的内容管理系统,它能够帮助用户快速创建大量的网站,并实现对这些网站的集中管理。以下是三个在使用广泛的站群CMS系统,它们各具特色,可以满足不同用户的需求。 1. Z-BlogPHP Z-BlogPHP是…

PSA制氧设备装置的使用注意事项解析

PSA制氧设备,即变压吸附制氧设备,是一种利用物理吸附原理,通过特定的吸附剂,在压力变化的情况下,从空气中分离出氧气的设备。由于其高效、节能、环保等特点,PSA制氧设备在工业、能源等领域得到了广泛应用。…

QCustomPlot一、QCustomPlot基础及画图显示

1、QCustomPlot下载 QCustomPlot源码demo 根据需要选择需要的文件: 完整版。QCustomPlot.tar.gz 源代码例子帮助文档; 共享库。QCustomPlot-sharedlib.tar.gz 库编译和使用; 源代码。QCustomPlot-source.tar.gz 源代码 里面包含了很多QCusto…

JavaEE 初阶篇-深入了解单例模式(经典单例模式:饿汉模式、懒汉模式)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 单例模式的概述 2.0 单例模式 - 饿汉式单例 2.1 关于饿汉式单例的线程安全问题 3.0 单例模式 - 懒汉式单例 3.1 关于懒汉式单例的线程安全问题 3.1.1 加锁 synchr…

设计模式——行为型——责任链模式Chain Of Responsibility

请求类 public class ApproverRequest {private int type;//请求批准的类型private float price;//请求的金额private int id;//请求的编号 } 审批人抽象类 public abstract class ApproverPerson {protected ApproverPerson next;protected String name;//审批过程public a…

基于SSM+Jsp+Mysql的班级同学录网站

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…