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