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

2024-04-03 07:52

本文主要是介绍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.书写标签即可运行

这篇关于MyBatis 解决上篇的参数绑定问题以及XML方式交互的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/872330

相关文章

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

idea npm install很慢问题及解决(nodejs)

《ideanpminstall很慢问题及解决(nodejs)》npm安装速度慢可通过配置国内镜像源(如淘宝)、清理缓存及切换工具解决,建议设置全局镜像(npmconfigsetregistryht... 目录idea npm install很慢(nodejs)配置国内镜像源清理缓存总结idea npm in

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是