此贴记录工作过程中遇到的那些坑爹问题。
1、spring mvc 静态资源处理
spring提供三种对静态资源的处理方式,我使用的是<mvc:resources mapping="/images/**" location="/images/" />方式,由于之前分文件配置,将这个标签跟
</context:component-scan>标签配置在别的xml里面,而不是**-servlet.xml里面,将导致正常的spring mvc注解地址访问不到。
2、bonecp 链接oracle11gr2存在问题
使用bonecp0.8.0.RELEASE,连接oracle11g R2一直提示找不到驱动,换了一晚上的驱动错误依旧,改为c3p0就OK了。
3、使用百度ueditor上传图片之后缩放在chrome下存在问题
增加如下css .edui-scale{-webkit-box-sizing:content-box;border-box:content-box;-moz-box-sizing:content-box;}
4、使用雪花算法生成的ID为18位,传到前端会有很多问题,因为js的数字类型精度只能支持到16位,多的都会四舍五入。所以导致前端获取的ID存在问题。解决办法就是:
全都转成字符串类型。。。
5.HttpClient 4.3连接超时问题
4.3版本不设置超时的话,一旦服务器没有响应,等待时间N久(>24小时)。我们线上环境直接导致所有线程都在等待,卡死。。。解决是给其加上超时时间:
CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet=new HttpGet("http://www.baidu.com");//HTTP Get请求(POST雷同) RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(2000).build();//设置请求和传输超时时间 httpGet.setConfig(requestConfig); httpClient.execute(httpGet);//执行请求
6.mybatis异常,这几天在用mybatis,遇到问题统一记录下
1)前几天改用mybatis有次报了这么一个异常:Mapped Statements collection already contains value for com.mapabc.boss.core.collect.statistical.dao.CollectStatisticalDao.queryScoreStatistical
一开始也没当回事,反正解决了,结果今天又遇到了,缺忘记那天咋搞定的了,又纠结半天,充分印证了那句好脑瓜不如烂笔头啊,还是记录下防止以后再遇到。
其实就是因为在mapper文件中有重名的方法,这里虽然报的是queryScoreStatistical,但是可能并不是这个,需要检查下整个xml,找出重名的,改了就OK。
2)org.apache.ibatis.binding.BindingException: Parameter '__frch_item_0' not found. Available parameters are [param1, list]
这个是因为在取值的时候没有对应的属性名。
7、mysql查询不走索引
一个500多W的数据表想要分页查询大概9W数据,使用索引字段进行查询,使用id进行order by limit,但是执行计划如下:
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE task_road NULL index idx_task_road_batch_id_ad_code PRIMARY 8 NULL 5521 3.62 Using where
查询并不会走想走的索引而是走的PRIMARY,这个主要是因为查询区间数据量较大,然后用order by id导致,改为order by索引字段+id之后正常走索引
序号 id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 1 SIMPLE task_road NULL ref idx_task_road_batch_id_ad_code idx_task_road_batch_id_ad_code 8 const 197220 100.00 Using index condition