用mybatis-plus,查询两个表的全部数据,并将查询的两组数据分别封装到desp这个实体类的两个属性中
时间: 2024-05-15 09:15:38 浏览: 186
支持连表查询的mybatis-plus
5星 · 资源好评率100%
假设查询的两个表分别为table1和table2,且它们对应的实体类分别为Table1和Table2,可以按照以下步骤进行操作:
1. 创建一个继承BaseMapper的自定义Mapper接口,用于执行查询操作:
```java
public interface MyMapper extends BaseMapper<Desp> {
List<Desp> selectDespList();
}
```
2. 在mapper.xml文件中编写SQL语句,使用JOIN关键字将table1和table2连接查询,并将查询结果映射到Desp实体类中的两个属性中:
```xml
<select id="selectDespList" resultMap="despMap">
SELECT t1.*, t2.*
FROM table1 t1
JOIN table2 t2 ON t1.id = t2.id
</select>
<resultMap id="despMap" type="com.example.entity.Desp">
<result column="id" property="id" />
<result column="name" property="name" />
<!-- 将table1的数据映射到Desp实体类的table1属性中 -->
<result column="t1_col1" property="table1.col1" />
<result column="t1_col2" property="table1.col2" />
<!-- 将table2的数据映射到Desp实体类的table2属性中 -->
<result column="t2_col1" property="table2.col1" />
<result column="t2_col2" property="table2.col2" />
</resultMap>
```
3. 在业务逻辑层中调用Mapper接口中的方法来执行查询操作:
```java
@Service
public class DespService {
@Autowired
private MyMapper myMapper;
public List<Desp> getDespList() {
return myMapper.selectDespList();
}
}
```
这样就可以查询两个表的全部数据,并将查询的两组数据分别封装到Desp实体类的两个属性中。
阅读全文