最近做了一个小项目,遇到了一些问题,
第一,就是时间格式的问题,数据库中是date类型。当我们输入时候一般都是用simpledateformat来输入。一般都是没有问题的。但是项目组要求不要秒,只有年月日时分,秒就默认00,很苦恼,想了一个下午也没有解决,后来问题公司的大牛们,直接就告诉我输入时直接就把秒给去掉,我当时还在纳闷了,秒去了读出来不就没有秒了,读出来也是没有的呀,后来测试了一下,读出来后秒竟然自动加了00,不知道为什么,后来大牛告诉我,因为数据库设置的时间是date,当年输入的时间少一部分时他会自动补零,但是输出时有遇到了问题,美一个时间后面都多了一个点零,上网查了好多,有些说在读数据时直接用dateformate...反正用了很多办法都不好用,后来想了一个笨方法,用截取字符串的方法,虽然好用了,但是我还是想知道有没有不需要截取的方法,更简单方便(数据库 mysql )(springmvc mybatis)
第二,当我们四个表联查时SQL语句的问题,三个表可以用resultMap 中的collection association等等但是collection那些只能用一次,如果以后项目要拓展的话那这些语句都要改动,非常的不方便,后来大牛就说给我一个笨方法,在主键表中定义外键的表然后根据主键先查外键表然后在把他set在主键表中,但是这样效率太低了。后来看到了别人的方法就是inner join一堆,刚开始就没有想到了。
第三,HTML传值的问题,如果HTML传一个值但是这个值是给另外一个js方法用的。那么js如何获取这个值,以前重来没有遇到过用前端js来接收参数的(ajax除外)
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return decodeURI(r[2]); 这样就把前端值传的值给拿到了。但是这个方法没有看懂,就知道是接收前端参数 第四,二级联动问题,看了很多代码才弄明白,根据一级ongchang事件来个二级值,每次 改变是就把二级给清空。 第五,调用封装好的jquery方法,传值除了传参数还把form表单的ID给传过去,如果有 分页的话也要把分页ID给传过去,一直不太明白为什么穿ID,参数有了还要ID干什么 老手告诉我,后台会根据ID放入对应的值。但是后台也没有区分的方法,老手有告诉我 后台自动区分,不需要你来做。想要知道还要看源码。所以没有事看看源码很重要 第六。百度模板和UE 编辑器,刚开始接触根本不懂如何使用,后来上网搜索了一番原来 他们也有语法,但是不是特别的多,像在HTML中定义<script id="editor" type="text/plain" style="width:800px;height:200px;"></script> <div id="content-normal"> <input id="introduction" type="hidden" name="introduction" value="${activity.introduction}" type="hidden"/> </div>在script中用var editor = UE.getEditor('editor'); 就可以把上面的ID为editor的变成一个编辑框 这些就是最简单的语法,还有很多网上很多 这就是我最近的总结,虽然不多,但是收获很多,有点啰嗦了