首页 > 其他分享 >resultMap映射null问题

resultMap映射null问题

时间:2024-03-29 13:55:23浏览次数:19  
标签:返回 自定义 映射 resultMap 使用 泛型 null

resultMap和resultType

ResultMap会将所有的自定义映射返回,实体类里不包含的字段也映射出来,且为null

resultMap存在的问题,你使用自定义映射集映射结果后,mapper返回的结果类型就成了自定义映射集的type

当需要的结果只需要几个字段时,而返回类型建议使用ResultType,因为ResultMap映射的字段太多有时候容易造成数据返回很多无意义的字段

如下图:我定义的集合泛型是Data

image

但是查看testList后发现结果类型变为了DTO;这是因为在resultMap中定义:

image

甚至使用List接收都是可以的

image

我们甚至可以往集合里面添加字符串元素,而添加WindTurbinesDataDTO会报错,那么我们这个泛型约束在添加元素时是起到作用了的,那可是在mapper数据映射的时候List<String> selectWindTurbinesList(WindTurbinesDataDO windTurbinesDataDO);使用的泛型接收为什么没有起到约束作用呢?

image

那么这个问题怎么解决呢?是每一个返回类型都写一个resultMap吗?那岂不是很麻烦,还是使用resultType方便

建议:

  1. 当返回对象是简单对象时,使用ResultType;
  2. 当返回对象是嵌套对象时,使用ResultMap;当映射实体类和数据库不是完整的驼峰和下划线对应,建议使用resultMap

标签:返回,自定义,映射,resultMap,使用,泛型,null
From: https://www.cnblogs.com/code-jia/p/18103713

相关文章

  • 【智能算法改进】混沌映射策略--一网打尽
    目录1.引言2.混沌映射3.分布特征4.混沌映射函数调用5.改进智能算法1.引言基本种群初始化是在整个空间内随机分布,具有较高的随机性和分布不均匀性,会导致种群多样性缺乏,搜索效率低等问题。许多学者利用混沌映射机制来增加种群的多样性,以改善算法的性能,其非线性特性......
  • MySQL各类查询语句DQL——like_between and_null_in
    创建数据库CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyin......
  • 后处理 - 色调映射
    就是将颜色值通过映射公式得到另一种颜色值,比如:将颜色值*0.8也算是映射公式但这边介绍的映射公式可以得到一种电影校色的效果,至于原理,一般都是经验公式。 效果 c#代码usingUnityEngine;publicclassTonemappingEff:MonoBehaviour{publicShaderm_Shader;......
  • Nginx配置静态代理/静态资源映射时root与alias的区别,带前缀映射用alias
    场景Nginx搭建静态资源映射实现远程访问服务器上的图片资源:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/117283572以上在配置静态资源映射时使用的如下配置     location/{           root  D:/pic_old/;           try_......
  • 【PG】postgresql中的bytea中的null 和 character varying 的null 是等值的吗
    在PostgreSQL中,NULL值是用于表示缺失或未知值的特殊值。无论数据类型是什么,NULL值都被视为一个独立的概念,与其他值不相等,包括bytea和charactervarying。因此,在PostgreSQL中,bytea类型的NULL值与charactervarying类型的NULL值是不相等的。它们被视为不同的值,无......
  • Spring整合Mybatis方式一 - 常规整合 - 注册映射器
    前置工作导包(mybatis-spring、mysql-connector-java、mybatis、spring-webmvc等)实体类DAO层两个文件(接口、xml文件);Service层的接口编写Spring管理mybatis的xml-spring-dao.xml核心代码(两种方式实现)第一种:xml<!--将会话工厂对象托管给spring--><beanid="sqlSess......
  • java.web 中的路径映射是啥
    在JavaWeb开发中,路径映射指的是将HTTP请求的URL与服务器端的某个组件(如Servlet、JSP页面或RESTful服务)关联起来的过程。当客户端发起一个请求时,Web服务器(如Tomcat、Jetty等)会根据其内部的配置来解析这个URL,并将其映射到相应的处理程序。具体到Servlet中,路径映射是在部署描......
  • Mybatis的接口映射原理
    1、问题引入在使用Mybaits时,只需要写一个Mapper接口(不用写实现类),并在对应的xml文件中写好sql。然后,Mybatis就自动实现了具体的CRUD方法调用。通常我们使用Mybatis的主要步骤是:构建SqlSessionFactory(通过xml配置文件,或者直接编写Java代码)从SqlSessionFactor......
  • drf : 自动生成路由,视图层自定义方法,路由映射方法,action参数。
    扩展一个知识点:在Django中,代码只要顶格编写,程序一运行,代码将直接执行。drf路由Routers自动生成路由需要继承ViewSetMixin子类,重写了as_view()方法。导入模块:fromrest_frameworkimportrouters创建router对象,并注册视图集合,例如:router=SimpleRouter()router.registe......
  • DMA一致性映射使用
    DMA映射可参考:https://www.cnblogs.com/lethe1203/p/18092749 reserved_memory方式1、定义保留内存的节点,由设备节点使用test_device_reserved:pmu_noc@0xe8000000{compatible="shared-dma-pool";reg=<0x00xe80000000x00x800000>;......