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