1.在Navicat写好的SQL语句且有效,但是复制到IDEA里使用时却报错(带参)
错误信息:
将参数成功传入但是在运行时SQL语句的参数那里却显示问号
解决方法:将SQL语句#{channel}外面的单引号去掉即可成功获取数据
2.在用DateUtil.format转化成String类型的时候,”yyyy-MM”和”yyyy-mm”是不一样的
String time=DateUtil.format(DateUtil.offsetMonth(new Date(),-2),"yyyy-MM")+"-01";
效果是:
String time=DateUtil.format(DateUtil.offsetMonth(new Date(),-2),"yyyy-mm")+"-01";
效果是:(但是好像试了几次效果都不一样)
3.
for (Map<String, String> map : LMSS) {
if(StrUtil.isNotBlank(map.get("productDetail"))){
JSONArray jsonArray = new JSONArray(map.get("productDetail"));
因为SQL语句多表查询获取的是两个表的部分字段,因此用了Map<String,String>这种键值对列表来获取,由于productDetail字段又是由多个JSONObject构成的,所以用JSONArray来接收,但是由于我在测试的时候有条数据的productDetail字段是空,导致JSONArray jsonArray = new JSONArray(map.get("productDetail"));报错
因为其不含[],不符合JSONArray的格式,所以报错。
if(StrUtil.isNotBlank(map.get("productDetail"))){
因此我在获取之前加了一个if语句来防止报错