mybatis-plus 查询每月财务表信息并求和
时间: 2023-09-20 11:10:18 浏览: 142
假设你的财务表信息存储在一个名为`finance`的表中,其中包含`date`(日期)和`amount`(金额)两个字段。那么你可以按照以下步骤使用 MyBatis-Plus 进行查询和求和操作:
1. 定义一个查询条件类`FinanceQuery`,包含查询起始日期和结束日期两个属性。
```java
public class FinanceQuery {
private LocalDate startDate;
private LocalDate endDate;
// 省略 getter 和 setter 方法
}
```
2. 在`FinanceMapper`中定义一个查询方法,接受`FinanceQuery`作为查询条件,返回一个`BigDecimal`类型的总金额。
```java
public interface FinanceMapper extends BaseMapper<Finance> {
BigDecimal sumAmountByMonth(@Param("query") FinanceQuery query);
}
```
3. 在`FinanceMapper.xml`中编写 SQL 语句,按照月份分组并求和金额。
```xml
<select id="sumAmountByMonth" resultType="java.math.BigDecimal">
select sum(amount)
from finance
where date between #{query.startDate} and #{query.endDate}
group by date_format(date, '%Y-%m')
</select>
```
4. 在代码中调用`FinanceMapper`接口中的`sumAmountByMonth`方法,传入查询条件对象即可。
```java
FinanceQuery query = new FinanceQuery();
query.setStartDate(LocalDate.of(2021, 1, 1));
query.setEndDate(LocalDate.of(2021, 12, 31));
BigDecimal totalAmount = financeMapper.sumAmountByMonth(query);
```
以上代码将查询 2021 年财务表中每个月的总金额,并返回一个`BigDecimal`类型的总金额。
阅读全文