当前位置: 首页 > Web前端 > HTML

MyBatis_MyBatis查询返回对象集合

时间:2023-03-28 12:13:17 HTML

1。Introduction通过前面的课程,我们了解了使用MyBatis进行增删改查的基本操作,接下来我们讲了下载、增删改查中的参数传递问题。我们之前的操作主要是针对一个对象进行的。那么当我们的返回值是一个集合时,我们应该怎么办呢?所以现在我们更详细地看一下查询操作。2、实现返回值是对一个对象集合(List)的操作(1)。在接口中定义写查询的方法publicListgetEmpsByLastNameLike(StringlastName);(2).在select*fromtbl_employeewherelast_namelike#{lastName}//实体对象Query配置的对应映射文件中resultType:如果返回的是Collection,则写入集合中元素的类型(3)。测试查询EmployeeMappermapper=openSession.getMapper(EmployeeMapper.class);Listlike=mapper.getEmpsByLastNameLike("%e%");for(Employeeemployee:like){System.out.println(employee);}总结:使用select查询一个对象集合,然后返回。注意:1、当我们在实体对象的映射文件中设置配置时,如果返回的是一个集合,写上集合中元素的类型。2、查询的时候,我们可以直接使用一个集合对象List来接收查询结果,MyBatis会帮我们加载到集合中。3、实现返回值是对对象集合(Map)的操作(1)。单个记录被封装到一个Map对象中①。在接口中定义写查询的方法publicMapgetEmpByIdReturnMap(Integerid);②.在实体对象对应的映射文件中查询配置select*fromtbl_employeewhereid=#{id}//注意此时的resultType③.测试查询EmployeeMappermapper=openSession.getMapper(EmployeeMapper.class);Mapmap=mapper.getEmpByIdReturnMap(1);System.out.println(地图);总结:1、在实体对象对应的映射文件中进行查询配置时注意resultType的类型。(2).单个记录被封装到一个Map对象中①。在接口中定义写查询的方法@MapKey("lastName")publicMapgetEmpByLastNameLikeReturnMap(StringlastName);//注:@MapKey:告诉mybatis什么时候使用哪个属性作为map的key封装这张图②。实体对象对应映射文件中查询的配置select*fromtbl_employeewherelast_namelike#{lastName}//注意:这里的resultType是一个实体对象③。测试查询EmployeeMappermapper=openSession.getMapper(EmployeeMapper.class);Mapmap=mapper.getEmpByLastNameLikeReturnMap("%r%");System.out.println(地图);总结:1、我们在实体对象的映射文件中设置配置的时候,如果返回的是一个集合,要写集合中元素的类型。2、接收时,我们需要在方法上声明Map的key类型,使用@MapKey("+keyname+")。