基础知识点-经常使用小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

相关文章
相关标签/搜索