mybaties+maven+springboot整合将查询结果映射到实体Bean时的注意事项

在Rank.xml中配置查询语句

<select id="selectSumPrice"
        parameterType="com.iscas.manager.model.Rank"
        resultType="com.iscas.manager.entity.RankBean">
    SELECT
    s.code as storeId,
    s.name as storeName,
    SUM( p.money*p.num ) as totalMoney
    FROM
    price p
    LEFT JOIN store s on s.code = p.store_id
    WHERE
    1=1
    AND TO_DAYS(NOW()) - TO_DAYS(p.`create_time`) = 1
    <if test="keywords !=null and keywords !=''">
        AND s.name like '%${keywords}%'
    </if>
    GROUP BY s.code
    ORDER BY totalMoney DESC
</select>

建立实体RankBean.java接收查询结果

public class RankBean {
    private String storeId;
    private String storeName;
    private String totalMoney;

    public String getStroeId() {
        return storeId;
    }

    public void setStroeId(String stroeId) {
        this.storeId = stroeId;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public String getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(String totalMoney) {
        this.totalMoney = totalMoney;
    }
}

将查询结果封装成json格式传到前台页面显示

@RequestMapping(method = {RequestMethod.GET},value = "selectSumPrice")
    public void selectSumPrice(Rank e, HttpServletResponse response, HttpServletRequest request){
        ResultDataDto rdd = null;
        List<RankBean> edata = new ArrayList<>();
        try {
            List<RankBean> rankBeanList = rankService.selectSumPrice(e);
            edata = rankBeanList;
            PageInfo<RankBean> RankPageList = new PageInfo<>(rankBeanList);
            if (rankBeanList.size() != 0) {
                rdd = new ResultDataDto(ResultDataDto.CODE_SUCCESS, "查询成功", RankPageList);
            } else {
                rdd = new ResultDataDto(ResultDataDto.CODE_SUCCESS, "查询结果为空", null);
            }
        } catch (Exception ex){
            ex.printStackTrace();
            rdd = new ResultDataDto(ResultDataDto.CODE_ERROR_EXCEPTION, "查询异常", null);
        }
        ReturnJsonResult.result(response, request, rdd);
    }

前台页面效果

{
code: "200",
message: "查询成功",
datas: {
pageNum: 1,
pageSize: 5,
size: 5,
startRow: 0,
endRow: 4,
total: 5,
pages: 1,
list: [
{
storeId: "18820",
storeName: "大娘当家(1店)",
totalMoney: "22850"
}
],
prePage: 0,
nextPage: 0,
isFirstPage: true,
isLastPage: true,
hasPreviousPage: false,
hasNextPage: false,
navigatePages: 8,
navigatepageNums: [
1
],
navigateFirstPage: 1,
navigateLastPage: 1
}
}

注意:Bean里面定义的属性名称必须与sql查询字段名称一致才能自动映射,否则前端将不能显示查询结果





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值