大家好,我是一名从事与java开发的小弟,在springboot项目中,遇到了一个接口需要去查询多次数据库中的同一张表,并将多次与数据库交互返回的数据封装到一起的情况;由于查询同一张表的条件不同,只能这样实现,这种方式大大的浪费了时间和资源,所以我想能不能只需要和数据库交互一次,就可以实现。所以我想能不能在<select>标签中包含多个语句然后返回一个集合形式,答案是可以的。
下边是我的实现方式:
mapper.xml
<resultMap id="id01" type="表a的返回值类型"/>
<resultMap id="id02" type="表a的返回值类型"/>
<select id="find" resultMap="id01,id02">
SELECT * FROM 表a where name = ${name1};
SELECT * FROM 表a where name = ${name2};
</select>
mapper接口
List<对象a的数据类型> find(@Param("条件1")String name1,@Param("条件2")String name2);
ServiceImpl.java
List<对象a的数据类型> list = this.mapper.find(name1,name2);
以上就是我是实现方式,有不懂或疑问可以在评论区留言,一直在!