0

MyBatis_MyBatis之查询返回对象集合

 2 years ago
source link: https://blog.51cto.com/u_15747763/5613106
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MyBatis_MyBatis之查询返回对象集合

精选 原创

敲代码的老贾 2022-08-23 17:45:14 ©著作权

文章标签 映射文件 封装 增删查改 文章分类 Java 编程语言 阅读数218

通过前面几节课程,我们了解了使用MyBatis实现基本的增删查改的操作,然后我们又说了一下载增删查改中的参数传递问题。我们之前的操作主要是针对一个对象进行的操作。那么当我们的返回值是一个集合的时候该如何进行处理呢?那么现在我们较为详细的了解一下查询操作。

2.实现返回值是一个对象集合(List)的操作

(1).在接口中定义编写查询的方法

public List<Employee> getEmpsByLastNameLike(String lastName);

(2).在该实体对象的对应的映射文件中进行查询的配置

<select id="getEmpsByLastNameLike" resultType="com.atguigu.mybatis.bean.Employee">
select * from tbl_employee where last_name like #{lastName}

//resultType:如果返回的是一个集合,要写集合中元素的类型

(3).测试查询

EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
List<Employee> like = mapper.getEmpsByLastNameLike("%e%");
for

总结:使用select查询出一个对象集合然后返回需要注意:

1.我们在实体对象的映射文件中设置配置的时候,如果返回的是一个集合,要写集合中元素的类型。

2.在查询的时候,我们直接使用一个集合对象List来接收查询的结果即可,MyBatis会帮助我们加载到集合中。

3.实现返回值是一个对象集合(Map<key,value>)的操作

(1).单条记录封装成为一个Map对象

①.在接口中定义编写查询的方法

public Map<String, Object> getEmpByIdReturnMap(Integer id);

②.在该实体对象的对应的映射文件中进行查询的配置

<select id="getEmpByIdReturnMap" resultType="map">
select * from tbl_employee where id=#{id}

//注意这一个时候的resultType

③.测试查询

EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
Map<String, Object> map = mapper.getEmpByIdReturnMap(1);
System.out.println(map);

1.注意在实体对象的对应的映射文件中进行查询的配置的时候resultType的类型。

(2).单条记录封装成为一个Map对象

①.在接口中定义编写查询的方法

@MapKey("lastName")
public Map<String, Employee> getEmpByLastNameLikeReturnMap(String lastName);

//注意:@MapKey:告诉mybatis封装这个map的时候使用哪个属性作为map的key

②.在该实体对象的对应的映射文件中进行查询的配置

<select id="getEmpByLastNameLikeReturnMap" resultType="com.atguigu.mybatis.bean.Employee">
select * from tbl_employee where last_name like #{lastName}

//注意:这里的resultType是实体对象

③.测试查询

EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
Map<String, Employee> map = mapper.getEmpByLastNameLikeReturnMap("%r%");
System.out.println(map);

1.我们在实体对象的映射文件中设置配置的时候,如果返回的是一个集合,要写集合中元素的类型。

2.我们在接收的时候需要在方法上面声明Map的key类型,使用的是@MapKey(" + key的名称+ ")。

MyBatis_MyBatis之查询返回对象集合_封装

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK