当前位置: 首页 > 编程笔记 >

Mybatis查询多条记录并返回List集合的方法

吕博耘
2023-03-14
本文向大家介绍Mybatis查询多条记录并返回List集合的方法,包括了Mybatis查询多条记录并返回List集合的方法的使用技巧和注意事项,需要的朋友参考一下

实体对象如下:

/**
使用lobmok插件
*/
@Getter
@Setter
@NoArgsConstructor
@ToString
@EqualsAndHashCode
public class Vendor {
 private String vend_id;
 private String vend_name;
 private String vend_address;
 private String vend_city;
 private String vend_state;
 private String vend_zip;
 private String vend_country;
}

XML映射文件如下:

<select id="findVendorAll" resultType="vendor">
 select * from Vendors
</select>

接口文件方法如下:

//查询所有记录
List<Vendor> findVendorAll();

测试文件如下:

try {
 String resource = "mybatis-config.xml";
 InputStream resourceAsStream = Resources.getResourceAsStream(resource);
 SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream,"development2");
 //获取SQLSession
 SqlSession openSession = build.openSession();
 VendorMapper mapper = openSession.getMapper(VendorMapper.class);
 List<Vendors> findVendorAll = mapper.findVendorAll();
 
 System.out.println(findVendorAll);
 
} catch (IOException e) {
 System.out.println("加载配置文件失败");
 e.printStackTrace();
}

笔记:

  • XML中只需resultType属性值为实体对象别名或全路径名。
  • mybatis会通过接口文件的返回值类型来判断返回的是集合还是对象。如果是对象,则按常规查询并返回;如果是List集合,mybatis则会将查询到的多条记录设置进集合中并返回。

到此这篇关于Mybatis查询多条记录并返回List集合的方法的文章就介绍到这了,更多相关Mybatis查询多条记录返回List内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 问题内容: 我想从MySQL查询返回第二条,第三条或第四条记录(基于ID递增的查询) 问题是,我不知道ID,只是它是查询中的第三行。 问题答案: 它说从记录n开始返回一个记录。

  • 本文向大家介绍mybatis collection 多条件查询的实现方法,包括了mybatis collection 多条件查询的实现方法的使用技巧和注意事项,需要的朋友参考一下 mybatis collection 多条件查询的实现方法 前言: 业务需要通过mybatis 查询返回嵌套集合,嫌多次查询太麻烦,用自带的高级查询解决问题,下边是代码,已测试通过。 说下自己的理解,就是一个主查询结果集

  • 问题内容: 您好我的查询得到此错误帮助我恢复它 问题答案: 您的RPT_Company_Address表似乎具有给定公司的多个地址。如果这不可能,则应尝试更正数据并修改架构以防止发生这种情况。 另一方面,如果可以有多个地址,则必须确定查询应如何处理它们: 1)您是否要多次列出同一公司行-每个地址一次?如果是这样,请使用将它们全部返回: 2)如果只需要第一个匹配地址,请在与每个公司相对应的第一个匹配

  • 问题内容: 我在Elasticsearch中有一个小型数据库,出于测试目的,我想拉回所有记录。我正在尝试使用以下形式的网址… 有人可以给我您用来完成此操作的URL吗? 问题答案: 我认为支持lucene语法是这样的: 大小默认为10,因此您可能还需要获取10个以上的商品。(其中BIGNUMBER等于您认为大于数据集的数字) 但是,elasticsearch文档建议使用扫描搜索类型针对大型结果集。

  • 我正在处理一个SQL查询,它应该返回每行具有相同或不同列数的数据 例如,我有以下来自 CTE 的数据,如下所示 结果是 在上表中,每个Acc_Num我都有多条记录,我想以相同的Acc_num对所有记录进行分组,并根据每个acc_num的记录数创建其他列,结果应如下所示 我不确定是否可以为单个数据集返回可变列数。 我可以知道解决这个问题的方法吗?

  • 问题内容: 我有一个数据库,正在运行以下查询: 上面的查询一次返回两个结果集,我不能分别触发两个查询。如何在Java类中一次处理两个结果集? 问题答案: 正确的代码来处理JDBC语句返回的多个: 重要位: 并返回以表明语句的结果只是一个数字,而不是一个。 您需要检查以了解是否还有更多结果。 确保关闭结果集或使用