日常开发笔记
定時器
<!—開啟這個配置,spring才能識別@Scheduled注解 --> <task:annotation-driven scheduler="qbScheduler" mode="proxy"/> <task:scheduler id="qbScheduler" pool-size="10"/> LOCATE(substr,str), LOCATE(substr,str,pos)第一個語法返回substr在字符串str 的第一個出現的位置。第二個語法返回子符串 substr 在字符串str,從pos處開始的第一次出現的位置。如果substr 不在str 中,則返回值為0 。DATE_ADD(a.alarmHappenTime,INTERVAL 10 DAY_MINUTE) 給sql中的time 增加時間
DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 2 HOUR) FIND_IN_SET(str,strlist) 查找用“,”隔開的數據content="upgrade-insecure-requests" 將http轉為https 再<matter>標簽中
@EnableCaching
開啟redis 緩存 在啟動類sql 日期select date_sub(now(), interval 1 hour)substr(rd_componentId, -3, 1) 獲取字符串的幾位 -3代表從后面數第三位,1代表幾個字符bootstrapTable 數據開始前進行銷毀
$("#approveTable").bootstrapTable('destroy'); sql
根據時間來進行天的比較day(ad.ad_time) 把時間轉為天 day("2020-10-19 14:36:00.0")js 獲取map的所有key
Object.keys()mybatis 遍歷arraylist<foreach item="item" collection="componentIdList" separator="," open="(" close=")" index=""> #{item, jdbcType=VARCHAR} </foreach>
拆分字符串
selrow.split("-")[1]mybatis 模糊查詢
concat('%',#{},'%')map 轉json.
fastjson:
JSONObject jsonObject = JSONObject.fromObject(map);
String result = jsonObject.toString();
json-lib
JSONUtils.toJSONString(requestMap); 生成 min-max的隨機數
Math.floor(Math.random()*(max-min+1)+min);
獲取選中的信息
$("#hisName option:selected").text()字符串str左端填充若干個字符串pad,直到新的字符串達到指定長度len為止。
LPAD(VARCHAR str, INT len, VARCHAR pad)
關于Scheduled問題
@Scheduled(cron = "0 0/1 * * * ? ")public void getAAA() {try {Thread.sleep(62000);} catch (InterruptedException e) {e.printStackTrace();}log.info("*******************"+Thread.currentThread().getName());}@Scheduled(cron ="0 0/1 * * * ? ")public void getBBBB(){log.info("######################"+Thread.currentThread().getName());}通過代碼輸入顯示 他們是異步執行的,這個沒什么問題,但是AAA他等待時間以及超過了下次的執行時間,所以他的顯示是 如果此次沒有執行完成,下一個時間點就不會再進入此方法內。等執行完成后才會再進入此方法、
關于 mybatis 中 foreach 標簽
總結
- 上一篇: 去重数组里面重复数据
- 下一篇: 对地图的marker 添加双击事件