一、使用第三方PageHelper分頁對象
Page<MallCashcouponUser> page = PageHelper.startPage(mallCashcouponUser.getPageIndex(), mallCashcouponUser.getPageSize())
.doSelectPage(() -> mallCashcouponUserMapper.getNotUseCashcoupon(userId));
List<MallCashcouponUser> mallCashcouponUserList = page.getResult();java
PageView pageView = PageView.getPageView(mallCashcouponUser.getPageIndex(), mallCashcouponUser.getPageSize());
pageView.setRowCount(page.getTotal()); web
return responseWithJson(request, true, mallCashcouponUserList,pageView);spring
二、計算Double型保留2位並轉化成String:
goodsSku.setSkuOriginalPrice(Double.parseDouble(String.format("%.2f",Double.valueOf(price)*1.12));// 易購價
Double型向上保留1位:
new BigDecimal(Double.parseDouble(String.format("%.2f",Double.valueOf(price)*Constants.MALL_SNPRICE_ORIGINAL_PERCENT_UNFIXED))).setScale(1, BigDecimal.ROUND_UP).doubleValue();
Double型比較大小:
Double.doubleToLongBits(record.getPayFee())!=Double.doubleToLongBits(payFee)
Integer型比較大小
要麼調用Integer.intValue()轉爲基本類型用「==」比較,要麼直接用equals比較。
三、RequestMapping中屬性做用
生產:produces="application/json;charset=UTF-8";
消費:consumes="application/x-www-form-urlencoded;charset=UTF-8";json
四、驗證手機號正則
private static boolean isMobileNO(String mobiles){
Pattern p = Pattern.compile("^(1[0-9])\\d{9}$");
Matcher m = p.matcher(mobiles);
return m.find();
}
五、json格式互轉
對象轉json:
String questionOptions = JsonUtils.objectToJson(optionslist);
json轉對象:
QOptionsV qOptionsVBean = (QOptionsV)JSONObject.toBean(JSONObject.fromObject(answers.getQuestionOptions()),QOptionsV.class);
集合轉json:
JSONArray jsonArray = JSONArray.fromObject(list);
json轉集合:
List<Employee> list = (List<Employee>) jsonArray.toCollection(jsonArray, Employee.class);服務器
六、請求轉json
//request.getInputStream()轉json
String jsonParam= null;
try {
BufferedReader streamReader = new BufferedReader( new InputStreamReader(super.getInputStream(), "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = streamReader.readLine()) != null){session
responseStrBuilder.append(inputStr);mvc
JSONObject jsonObject = JSONObject.parseObject(responseStrBuilder.toString());
jsonParam= jsonObject.toJSONString();app
System.out.println(jsonParam);
}
} catch (Exception e) {
e.printStackTrace();
}框架
七、Beanutils拷貝對象
BeanUtils.copyProperties(userForm, user); //拷貝要修改的值函數
八、驗證數據的正確性
java的校驗框架執行,好比JSR303;
除了JSR303驗證方法,咱們還可使用spring validator,來自定義本身的校驗規則。
九、Spring斷言Assert類校驗入參
Assert.notNull(record.getOriginalMemberId(), "被回覆人ID不能爲空");
Assert.hasText(record.getReplyEvaluation(), "回覆內容不能爲空");
Assert.isTrue(evaluation.getAuditStatus()==1, "原評論未審覈經過");
十、java8之Optional空值處理
User user = new User("john@gmail.com", "1234");
List<String> emails = Optional.ofNullable(user)
.stream()
.filter(u -> u.getEmail() != null && u.getEmail().contains("@"))
.map( u -> u.getEmail())
.collect(Collectors.toList());
十一、一些名詞
spring 能夠當作一個大的集合,他由許多開源框架和組件組成,是一個統稱;
springframework 是sping 裏面的一個開源框架,主要用戶javaee的企業開發;
springmvc是springframework裏面的一個組件,用於javaee開發過程當中的控制層,至關於struts的功能;
什麼是熱部署:服務器正在運行,無須重啓服務器,就能夠加載更改的代碼;
熱部署:就是容器狀態在運行的狀況下從新部署整個項目.
在這種狀況下通常整個內存會清空,從新加載.這種方式可能會形成session丟失等狀況.
簡單來講就是Tomcat或者其餘的web服務器會幫咱們從新加載項目.
熱加載:就是容器狀態在運行的狀況下從新加載改變編譯後的類.
在這種狀況下內存不會清空,session不會丟失,但容易形成內存溢出,或者找不到方法。
由於內存沒法轉變成對像.通常改變類的結構和模型就會有異常,在已經有的變量和方法中改變是不會出問題的.
十二、Eclipse快速查詢該類被哪些類引用了
在類名上點擊右鍵,選Reference->Workingspace或者直接快捷鍵Ctrl+Shift+G
1三、list迭代器
for(Iterator<String> it=list.iterator();it.hasNext();){
System.out.println(it.next());
}
1四、讀取文件目錄
new File(Text.class.getResource("/template").getFile())
15.調試函數 if (!WebTool.isDebugger()) { int userId= 4; }