mybatis 返回 Set
相信大家平时用到返回List的情况比较多
一.那为什么要返回set集合
1.因为Set集合的特性就是 不能有重复数据,所以通常我们返回List之后还需要去掉重复数据 是不是很麻烦?可以直接返回Set直接帮我我们去掉重复数据(记得要重写实体类的equals和hashCode 这两个方法)


下面是测试代码:
1:实体类 记得要重写实体类的equals和hashCode 这两个方法(这里只展示这两个方法)

@Override
public int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((b == null) ? 0 : b.hashCode());result = prime * result + ((frequency == null) ? 0 : frequency.hashCode());result = prime * result + ((ids == null) ? 0 : ids.hashCode());result = prime * result + ((magnetism == null) ? 0 : magnetism.hashCode());result = prime * result + ((reelNumber == null) ? 0 : reelNumber.hashCode());result = prime * result + ((trademark == null) ? 0 : trademark.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;MagnetizingCurveBH other = (MagnetizingCurveBH) obj;if (b == null) {if (other.b != null)return false;} else if (!b.equals(other.b))return false;if (frequency == null) {if (other.frequency != null)return false;} else if (!frequency.equals(other.frequency))return false;if (ids == null) {if (other.ids != null)return false;} else if (!ids.equals(other.ids))return false;if (magnetism == null) {if (other.magnetism != null)return false;} else if (!magnetism.equals(other.magnetism))return false;if (reelNumber == null) {if (other.reelNumber != null)return false;} else if (!reelNumber.equals(other.reelNumber))return false;if (trademark == null) {if (other.trademark != null)return false;} else if (!trademark.equals(other.trademark))return false;return true;}

2: .xml 配置文件

<select id="testFindSet" resultMap="BaseResultMap" >select<include refid="Base_Column_List" />from ANALYSIS_MAGNETIZING_CURVE_BHwhere TRADEMARK = 'AA0182'
</select>
<resultMap id="BaseResultMap" type="com.sgai.qgpam.analysis.entity.MagnetizingCurveBH" ><id column="SID" property="sid" jdbcType="DECIMAL" /><result column="TRADEMARK" property="trademark" jdbcType="VARCHAR" /><result column="REEL_NUMBER" property="reelNumber" jdbcType="VARCHAR" /><result column="FREQUENCY" property="frequency" jdbcType="DECIMAL" /><result column="MAGNETISM" property="magnetism" jdbcType="DECIMAL" /><result column="B" property="b" jdbcType="DECIMAL" /><result column="CREATED_DT" property="createdDt" jdbcType="TIMESTAMP" /><result column="CREATED_BY" property="createdBy" jdbcType="VARCHAR" /></resultMap>

3.mybatis接口

public Set<MagnetizingCurveBH> testFindSet();

4 junit测试类

@Test
public void testFindSet()
{Set<MagnetizingCurveBH> list = magnetizingCurveBHMapper.testFindSet();for (MagnetizingCurveBH m : list){System.out.println(m);}
}

5 console 结果展示
1 还没有重写equals和hashCode

2 重写之后

大家要注意!!! 不重写equals和hashCode 还是会有重复数据的。

mybatis 返回 Set相关推荐

  1. 深入了解MyBatis返回值

    深入了解MyBatis返回值 想了解返回值,我们需要了解resultType,resultMap以及接口方法中定义的返回值. 我们先看resultType和resultMap resultType和r ...

  2. 12、mybatis返回map单条及多条记录

    文章目录 1.mybatis返回map单条记录 1).EmployeeMapper接口 2).EmployeeMapper.xml 3).Test 4).测试结果 2.mybatis返回map多条记录 ...

  3. java mybatis 返回map_mybatis返回map集合的格式是什么?mybatis返回map集合实例

    Mybatis因为会与数据库交互,所以经常会有返回map集合的场景,那一般mybatis返回map集合的格式是什么呢?下面小编就用一些实例与你分享分享吧. 例1:返回key不定:返回key为学员id, ...

  4. mybatis返回值多个对象

    SpringBoot+mysql+Mybatis返回值对象中含有对象集合 1.对象personalHistoryInfo ​ public class PersonalHistoryInfo {/** ...

  5. boolean mybatis_解决MyBatis返回结果类型为Boolean的问题

    问题描述: 在使用mybatis时,有时需要检查某个记录是否存在数据库中,然后根据其返回的布尔值true or false,来进行逻辑判断.那怎么做呢? 解决方案: 如检测某个手机号是否被注册过: f ...

  6. mybatis 返回结果为Map

    表:members 中的gender 列是这样: Female Female Male Female Male Male Male Male Male 现在我们想统计 members 中男女人数分别是 ...

  7. Mybatis返回Map的一种实现

    Mybatis返回Map的一种实现 前言 在使用Mybatis进行系统开发的时候,有时候我们会有这么一种需求:我们希望通过Mybatis查询某一个表返回的结果是一个Map,而这个Map的Key是表的一 ...

  8. mybatis返回某一字段_8.mybatis的基本工作流程(2.0)※

    mybatis的基本工作流程 1.读取配置文件,配置文件包含数据库连接信息和Mapper映射文件或者Mapper包路径. 2.有了这些信息就能创建SqlSessionFactory,SqlSessio ...

  9. mybatis返回map键值对_mybatis返回map结果集怎么配置

    匿名用户 1级 2018-06-10 回答 一.概述 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返 ...

最新文章

  1. 力挺Python!同是程序员,为啥同事年前就实现了财务自由?
  2. 中大李文均团队在氮循环功能基因的生物地理学分布格局研究中取得进展
  3. 3.1.9 二级页表
  4. 算法-计算逆序对个数
  5. api商品分享源码_SSM框架高并发和商品秒杀项目高并发秒杀API源码免费分享
  6. Uva 11054 - Wine trading in Gergovia(模拟)
  7. 【Shell Basic】source . 与 bash sh 的区别
  8. 计算平均成绩,科目数未知
  9. 前端原生Html免费模板网站总结(带网址)
  10. css 图片 鼠标样式,鼠标样式 - CSS | 绿叶学习网
  11. 关于 移动硬盘数据丢失问题 的解决方法
  12. console和nsh的区别
  13. 使用ONNXRuntime部署阿里达摩院开源DAMO-YOLO目标检测,一共包含27个onnx模型(代码开源)...
  14. 企业管理之道:中层管理者,到底该管理什么?
  15. 网络推广员的工作职责,如何做好网络推广员
  16. 公网IP与内网穿透的使用场景和区别
  17. 打开设备管理器出现MMC.EXE被阻止解决办法
  18. 测试emmc读写速度软件,真机闪存实测:闪存读取速度到底什么鬼差距有多大建议收藏...
  19. python课题报告_2019-2020-1 《python程序设计》20192428魏来 综合实践报告
  20. golang的GOPROXY设置

热门文章

  1. linux网关命令,如何使用Linux命令行在Linux中查看默认网关IP
  2. HighLighter
  3. 两顺序栈共享Java_数据结构与算法(三),栈与队列
  4. 基于Android平台实现匿名社交论坛【附项目源码】
  5. 景区旅游多商户版小程序v14.3.1+前端
  6. 一只蒟蒻OIer的自我介绍
  7. 字节跳动杯2018中国大学生程序设计竞赛-女生专场
  8. 大疆M100,M200,M600系列对比
  9. node-schedule使用介绍
  10. GO loop variable captured by func literal