首页 > 其他分享 >在做结果集封装时,若结果集表头与成员变量名不一致该如何解决?

在做结果集封装时,若结果集表头与成员变量名不一致该如何解决?

时间:2024-08-28 19:59:32浏览次数:11  
标签:实体类 封装 配置文件 适配 数据库 表头 一致 子句 变量名

目录

1. 通过别名映射为一致:as子句

2. 使用resultMap

3. 在配置文件中开启适配规则


在Score实体类中,我们定义了studentId、courseId、score、status,而在数据库中,我们设置如下:

1. 通过别名映射为一致:as子句

在持久层接口中,我们定义了select1()方法,返回类型为List<Score>。由于实体类中的属性名与数据库中表的字段的不一致,因此可以在ScoreDao.xml文件中的SQL语句中,使用as子句,使二者成功匹配。

最后在测试类中进行测试:

成功查询得到数据:

2. 使用resultMap

在持久层接口中定义select2()方法,在ScoreDao.xml文件中编写如下代码:

3. 在配置文件中开启适配规则

mybatis.configuration.map-underscore-to-camel-case=true

(数据库下划线与实体小驼峰命名法)

将之前两种方法的SQL语句全部注释之后仍可查询成功:

标签:实体类,封装,配置文件,适配,数据库,表头,一致,子句,变量名
From: https://blog.csdn.net/apple_64847327/article/details/141647846

相关文章

  • 微信小程序 BLE 基础业务接口封装
    写在前面:本文所述未必符合当前最新情形(包括蓝牙技术发展、微信小程序接口迭代等)。微信小程序为蓝牙操作提供了很多接口,但在实际开发过程中,会发现隐藏了不少坑。目前主流蓝牙应用都是基于低功耗蓝牙(BLE)的,本文介绍相关的几个基础接口,并对其进行封装,便于业务层调用。蓝牙发展在开......
  • pygame封装连个常用控件
    #coding=utf-8importos,sys,re,timeimportpygameimportrandomfromwin32apiimportGetSystemMetricsfromtkinterimportmessageboxpygame.init()pygame.display.set_caption("我的控件")percent=0.6screen_width=GetSystemMetrics(0)screen_heig......
  • 使用FastAPI来开发项目,项目的目录结构如何规划的一些参考和基类封装的一些处理
    使用FastAPI开发项目时,良好的目录结构可以帮助你更好地组织代码,提高可维护性和扩展性。同样,对基类的封装,也可以进一步减少开发代码,提供便利,并减少出错的几率。下面是一个推荐的目录结构示例:my_fastapi_project/├──app/│├──__init__.py│├──main.py......
  • C++面向对象三大特性之一(封装)
    下面这篇文我来给大家分享C++面向对象三大特性之一(封装)。一、什么是封装?分装就是一个类中的私有成员,虽然类外不可以访问,但是我们提供一些公共的接口来间接让其他人访问到,例如一个人的名字我们起好之后就一般不会允许其他人改你的姓名,但是我们可以通过一些方式得到你的姓名......
  • js 封装日志上传模块,实现异常日志的上报
    封装定义日志上传模块,实现异常日志的上报,包含触发方式:1、主动调取方法上报2、覆盖原生console.error实现,收集所有console.error打印的日志3、window注册绑定error事件,触发 window.addEventListener('error',/***客户端日志上传模块,实现异常日志的上报*使用时在HTML......
  • quill-editor 富文本 组件封装并实现自定义上传图片
    基于quill-editor封装一个富文本组件,并实现自定义上传图片以及视频1.下载quill-editor npminstallvue-quill-editor--save2.对插件进行自定义改造(自定义字体大小选择,自定义标题,以及自定义工具栏功能) <template><divclass="edtior-box"><quill-editor......
  • 手把手教你—搭建Vue3企业级项目规范+基础封装配置
    前言如何搭建一个简易脚手架。核心需求是输入项目命令,clone准备好的项目模板,拉到本地后,装一下依赖,就可以直接开发了。不用每次都花大量时间,去搭建项目规范和做必要的封装配置。经过简单寻找后,发现没有符合自己预期的。从0到1搭建一个具备完善规范的Vue3开发模板✨,并手把手带大......
  • 在 C/C++ 中使用 MY_API 宏封装动态库:一种高效的跨平台接口实现方法
    目录1.背景介绍2.MY_API宏的定义3.使用MY_API宏封装动态库4.编译和使用动态库5.结论在现代软件开发中,封装动态库(DynamicLinkLibrary,DLL)以提供可复用的功能模块已经成为一种常见的实践。然而,在开发跨平台库时,由于不同操作系统对于动态库的导出和导入机制有......
  • vue element-ui表格table 表格动态 添加行、删除行、添加列、删除列 自定义表头
         vuetable表格动态添加行、删除行、添加列、删除列自定义表头; 增加一行、删除一行、添加一列、删除一列;每行带输入框input代码1、HTML部分:<template><divclass="app-container"><el-table:data="tableData"borderstyle="width:600px;margin-to......
  • notification ant插件 封装notification 防止多个相同的错误提示同时展示 message也
    import{notification}from'ant-design-vue'typeNoticeType='info'|'success'|'error'|'warning'//保证notification提示不重复constmessageSet=newSet();letclearTimer:number|undefined;interf......