广告
返回顶部
首页 > 资讯 > 精选 >如何解决mybatis中方法返回泛型与resultType不一致的问题
  • 813
分享到

如何解决mybatis中方法返回泛型与resultType不一致的问题

2023-06-20 18:06:40 813人浏览 独家记忆
摘要

这篇文章主要介绍“如何解决mybatis中方法返回泛型与resultType不一致的问题”,在日常操作中,相信很多人在如何解决mybatis中方法返回泛型与resultType不一致的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的

这篇文章主要介绍“如何解决mybatis中方法返回泛型与resultType不一致的问题”,在日常操作中,相信很多人在如何解决mybatis中方法返回泛型与resultType不一致的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决mybatis中方法返回泛型与resultType不一致的问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

mybatis方法返回泛型与resultType不一致

当xxxMaaper.java的方法返回值类型是List<A>,而xxxMappper.xml中对应的sql的resultType指定为B对象,这样是不会包错的(即使A与B不存在关系)

原因分析:

集合对象原本就是存储对象,可以是不同的对象List

直接处理List类型常常会出现类型转换异常,jdk5出现泛型,使得程序员向list中存放相同类型对象

泛型作用于编译阶段,仅为了防止类型混乱而出现,类型转换异常

mybatis结果集封装bean时采用反射,是在运行时进行的,此时再看泛型容易进入误区

实例:

public class A}public class B{}
@Service()public class aimpl implements AService {private AMapper  aMapper ;public List<B> increTrade(Map<String, Object> map) {List<B> lst =aMapper.increTrade(map); //这里debug看到list是A类型,此时泛型误导人return lst;}}public interface AMapper {List<B>increTrade(Map<String, Object> map);}

AMapper 对应的xml文件

<select id="increTrade" parameterType="java.util.Map" resultType="cn.easier.admin.model.A">//-------------</select>

List中map泛型对应mybatis的返回类型

List<Map<String,Object>>在mybatis对应

resultType="java.util.HashMap"
</select>  <select id="selectExceptionCountBymonths" resultType="java.util.HashMap"  >SELECT DATE_FORMAT( report_date, '%Y%m' ) label , COUNT( 0 ) valueFROM t_smoke_detector_record WHERE tsdr_type != "火灾告警"GROUP BY label   </select>
@apiOperation(value = "按照月份统计报警条数",notes = "按照月份统计报警条数")@GetMapping(value = "warnCountStatistics")@ActionLog(value = "按照月份统计所有报警条数")    public  List<Map<String,Object>>  warnCountStatistics(){        List list = smokeDetectorRecordMapper.selectWarnCountBymonths();        return list;

返回结果

如何解决mybatis中方法返回泛型与resultType不一致的问题

到此,关于“如何解决mybatis中方法返回泛型与resultType不一致的问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何解决mybatis中方法返回泛型与resultType不一致的问题

本文链接: https://www.lsjlt.com/news/299177.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决mybatis中方法返回泛型与resultType不一致的问题
    这篇文章主要介绍“如何解决mybatis中方法返回泛型与resultType不一致的问题”,在日常操作中,相信很多人在如何解决mybatis中方法返回泛型与resultType不一致的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-20
  • mybatis中方法返回泛型与resultType不一致的解决
    mybatis方法返回泛型与resultType不一致 当xxxMaaper.java的方法返回值类型是List<A>,而xxxMappper.xml中对应的sql的re...
    99+
    2022-11-12
  • C语言中函数返回值不一致问题如何解决
    本文小编为大家详细介绍“C语言中函数返回值不一致问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中函数返回值不一致问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。C语言函数返回值不一致...
    99+
    2023-07-05
  • 如何解决MyBatis在DAO层定义接口返回类型泛型无效的问题
    这篇文章主要讲解了“如何解决MyBatis在DAO层定义接口返回类型泛型无效的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决MyBatis在DAO层定义接口返回类型泛型无效的问题...
    99+
    2023-06-20
  • 如何解决Pytorch在测试与训练过程中的验证结果不一致问题
    小编给大家分享一下如何解决Pytorch在测试与训练过程中的验证结果不一致问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!引言今天在使用Pytorch导入此前保存的模型进行测试,在过程中发现输出的结果与验证结果差距甚大,...
    99+
    2023-06-15
  • 如何解决@Cacheable在同一个类中方法调用不起作用的问题
    本篇内容介绍了“如何解决@Cacheable在同一个类中方法调用不起作用的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!@Cacheab...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作