前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单认识MyBatis

简单认识MyBatis

作者头像
晓果冻
发布2022-09-08 14:01:08
2160
发布2022-09-08 14:01:08
举报
文章被收录于专栏:一直在努力的Java菜鸡er
MyBatis是什么

MyBatis是一款持久层框架,支持自定义SQL、存储过程和高级映射。 MyBatis免除所有JDBC代码以及设置参数和获取结果集的工作 MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JAVAPOJO为数据库中的记录。

MyBatis优点和缺点

优点: 基于SQL语句编程,相当灵活,不会对程序和数据库造成侵入,通过XML写SQL,sql与代码低耦合,便于统一管理,还可以书写动态SQL语句,便于重用。 与JDBC相比,免除所有JDBC代码设置参数及获取结果的工作,不需要手动链接,消除了大量冗余代码。 兼容性强,因为是靠JDBC链接数据库的,所有JDBC支持的数据库,MyBatis都支持。 完美兼容Spring。 缺点: SQL编写工作量大,对开发人员SQL功底有一定要求。 迁移性差,SQL语句依赖于数据库

resultType和resultMap得区别

  1. resultType:直接标识返回类型,包括基本类型和复杂数据类型。

resultMap:外部resultMap定义得引用,通过对应的外部resultMap的id,表示结果映射到哪个resultMap上,一般用于字段名和属性名不一致的情况,或者需要做复杂的联合查询以便自由控制映射 结果俩者的关链 当进行查询时,查询出来的每个字段都会放在一个Map里,当查询元素返回属性是resultType的时候,会根据键值对取出value来赋值给指定的属性。其实MyBatis的每个查询映射的返回类型都是resultMap,只是当我们使用resultType的时候,会自动把对应的值赋给所指定的对象属性,当使用resultMap时候,因为map不是很好的表示领域,我们就进一步的转化为对应的实体对象。resultMap主要作用于复杂的联合查询上。 注意:

  1. resultMap和resultType只能同时存在一个。
  2. 当resultType返回的是集合类型,应该写具体集合中元素的类型,不应该返回集合本身。如
代码语言:javascript
复制
List<String> selectAll();
那么xml中resultType返回值应该是resultType="java.util.List"
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MyBatis是什么
  • MyBatis优点和缺点
  • resultType和resultMap得区别
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档