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

MyBatis ORM映射

MyBatis只能自动维护库表”列名“与”属性名“相同时的对应关系,二者不同时无法自动ORM

因此需要使用到ORM映射。

共有两种解决办法:1.列的别名  2.结果映射

1.列的别名

在SQL中使用 as 为查询字段添加列别名,以匹配属性名

    public List<Role> findAll();
    <select id="findAll" resultType="com.by.pojo.Role" >select id, role_name as roleName, role_desc as roleDesc from role</select>

但是如果我们的查询很多,都使用别名的话写起来就很麻烦

2.结果映射

使用ResultMap标签手动映射,解决实体字段和数据表字段不一致的问题

ResultMap标签写一次之后,可以被多次使用,解决了需要写很多别名很麻烦的问题

public List<Role> findAll2();
    <!--id:和select查询标签的返回值保持一致type: 映射实体的全类名--><resultMap id="findAll2ResultMap" type="com.by.pojo.Role"><!--描述主键字段的映射关系:property:实体类的属性column:数据表字段名称--><id property="id" column="id" /><!--描述非主键字段的映射关系:property:实体类的属性column:数据表字段名称--><result property="roleName" column="role_name" /><result property="roleDesc" column="role_desc" /></resultMap><select id="findAll2" resultMap="findAll2ResultMap" >select * from role</select>

http://www.lryc.cn/news/264255.html

相关文章:

  • 在线客服系统推荐:为何选择Zoho Desk?
  • 手绘心情树叶,探索情绪世界
  • 智能优化算法应用:基于水基湍流算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 打开和关闭GBASE南大通用数据库连接
  • Zookeeper 集群搭建过程中常见错误
  • Linux开发工具——vim篇
  • 基于YOLOv5的吸烟检测系统设计与实现
  • 递归算法:二叉树前序、中序、后序遍历解析与递归思想深度剖析
  • WebGL开发数字孪生项目
  • 【51单片机系列】C51中的中断系统扩展实验
  • Poi实现复杂Excel导出,理解POI操作Excel思路!!!
  • 关于 jsconfig.json 文件在导入文件路径提示方面
  • 验证码:防范官网恶意爬虫攻击,保障用户隐私安全
  • python学习笔记--异常捕获
  • ChatGPT如何计算token数?
  • 页面菜单,通过get请求一个url后,跳转另外一个页面,+丢失问题
  • 高并发场景下的延时双删
  • log4js-node在nodejs项目中的使用示例
  • Java_集合进阶(Collection和List系列)
  • QT GUI代码大全(MainWindow, QFile, QPainter, QGraphicsItem/Scene/View)
  • C# Onnx Yolov8 Detect 物体检测 多张图片同时推理
  • 学习使用js保留两位小数同时去掉小数末尾多余的00
  • linux驱动的学习 驱动开发初识
  • Node.js中npm中ws的WebSocket协议的实现
  • PHP HTTPoxy CGI 应用程序漏洞 CVE-2016-5385
  • qt-C++笔记之使用QLabel和QPushButton实现一个bool状态的指示灯
  • 自动驾驶技术入门平台分享:百度Apollo开放平台9.0全方位升级
  • Elementor Pro v3.18.1和(完整模板套件)介绍说明
  • Windows如何安装使用TortoiseSVN客户端并实现公网访问本地SVN Server
  • Mybatis配置-映射器(mappers)