基礎知識點-經常使用小case

select TextData from profiler
where TextData LIKE '%select%' 
and TextData not Like '%exec%'
and CPU is not null
and EndTime >= '2017-09-15 14:17:00'  查詢sqljava

「BigDecimal(double)」不該該使用
 
因爲浮點精度問題,你不可能從BigDecimal()獲得你指望的值。
如下文字摘自javadocs:
有人可能會認爲從BigDecimal(0.1)new出來的數值正好等於0.1,但它其實是等於0.1000000000000000055511151231257827021181583404541015625。這是由於0.1不能被精確地表示爲一個雙精度浮點數。所以,看起來你傳入的參數是0.1,但實際並非。
因此,你應該使用bigdecimal.valueof,它會消除浮點數帶來的偏差。
 sql

 "toString()" and "clone()" methods should not return null
tostring() 和 clone()方法不該該返回空
 
調用一個對象的tostring或是clone方法老是應該返回一個string或是an object,返回一個空值違反了這個方法的隱性約定。
System.out.println(new BigDecimal("1225.120").setScale(2));//不會出錯  
    System.out.println(new BigDecimal("1225.121").setScale(2));//出錯緣由精度丟失問題,要指定舍入模式便可  數組


import com.google.common.collect.Lists;
List<T> result = Lists.newArrayListWithCapacity(source.size());//設置集合固定長度性能

 //整個來講的優勢有:節約內存,節約時間,節約性能。代碼質量提升。
List<String> list = Lists.newArrayListWithExpectedSize(10);google

//這個方法就是直接返回一個10的數組。
List<String> list_ = Lists.newArrayListWithCapacity(10);對象

 

插入時候自動去除空格rtrim()內存

    insert into JiesFK(jiesfk_jiesid,jiesfk_fukfs,
   <if test="jiesfk_fukje != null">
   jiesfk_fukje,
   </if>
   <if test="jiesfk_Debit != null">
   jiesfk_Debit,
   </if>
   jiesfk_IsDebit,jiesfk_RefNo,jiesfk_Op,jiesfk_Memo,JIESFK_ACCID,jiesfk_iType) 
   values(rtrim(#{jiesfk_jiesid}), #{jiesfk_fukfs}, 
   <if test="jiesfk_fukje != null">
   #{jiesfk_fukje}, 
   </if>
   <if test="jiesfk_Debit != null">
   #{jiesfk_Debit}, 
   </if>
   #{jiesfk_IsDebit}, #{jiesfk_RefNo}, #{jiesfk_Op}, #{jiesfk_Memo}, #{JIESFK_ACCID}, #{jiesfk_iType})ci

相關文章
相關標籤/搜索