1.用int接收,错误如下:
代码语言:javascript复制public class ProductDaoImpl implements ProductDao {
QueryRunner qr = new QueryRunner(DruidUtils.getDataSource());
//根据tid返回每个种类的总数
@Override
public int findCountProduct(int tid) throws SQLException {
String sql = "select count(1) from product where t_id = ?";
int i = (int)qr.query(sql, new ScalarHandler(), tid);
return i;
}
}
2.按照错误提示:new ScalarHandler()需要使用long接收。修改后如下:
代码语言:javascript复制public class MyTest {
public static void main(String[] args) throws Exception {
ProductDao productDao = new ProductDaoImpl();
System.out.println(productDao.findCountProduct(1));
}
}
3.错误原因:
qr.query()返回object类型 ,先转成 ScalarHandler的Long类型 然后 在转为 int类型,之前我直接就转成int类型所以就GG了呱~。