springboot接口慢_较长的sql执行很慢,使用jdbc和springboot测试类比较快。

本文主要探讨了SpringBoot接口执行慢的问题,原因在于执行了复杂的SQL查询。通过分析,发现SQL包含大量数据过滤,导致查询效率低下。文章通过展示SQL查询语句,讨论如何优化,包括考虑使用缓存、分页查询或调整查询条件,以提高接口响应速度。
摘要由CSDN通过智能技术生成

这个是我自定义的回调。因为有3个sql都需要用。所以判断了下是哪个sql调用。

public static List getSqlListNoPagerEduStorageCount(Class clazz, Dao dao, String sqlStr, Cnd cnd,EduStorageCountType type) {

Sql sql = dao.sqls().create(sqlStr);

if(cnd!=null){

sql.setCondition(cnd);

}

sql.setCallback(new SqlCallback() {

public Object invoke(Connection conn, ResultSet rs, Sql sql) throws SQLException {

List list = new LinkedList();

StorageCollect storageCollect=null;

while (rs.next()){

storageCollect=new StorageCollect();

storageCollect.setSchoolId(rs.getString("schoolId"));

storageCollect.setFoodName(rs.getString("foodName"));

switch (type){

case IN:

storageCollect.setInStorageMoney(rs.getDouble("inStorageMoney"));

storageCollect.setInStorageNumber(rs.getDouble("inStorageNumber"));

break;

case OUT:

storageCollect.setOutStorageMoney(rs.getDouble("outStorageMoney"));

storageCollect.setOutStorageNumber(rs.getDouble("outStorageNumber"));

break;

case OLD:

storageCollect.setEarlyMonthNumber(rs.getDouble("earlyMonthNumber"));

storageCollect.setEarlyMonthMoney(rs.getDouble("earlyMonthMoney"));

break;

}

list.add(storageCollect);

}

return list;

}

});

dao.execute(sql);

List lists = sql.getList(clazz);

return null != lists && lists.size() > 0 ? lists : null;

}

pojo类:

/**

* 食材名称

*/

private String foodName;

/**

* 学校id

*/

private String schoolId;

/**

* 初期库存数量

*/

private Double earlyMonthNumber;

/**

* 初期库存金额

*/

private Double earlyMonthMoney;

/**

* 本月入库数量

*/

private Double inStorageNumber;

/**

* 本月入库金额

*/

private Double inStorageMoney;

/**

* 本月出库数量

*/

private Double outStorageNumber;

/**

* 本月出库金额

*/

private Double outStorageMoney;

/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值