java日常

1、
System.currentTimeMillis(),获得系统当前时间戳
 
2、
注意 deleteCharAt只删一个字符,subString才是截取······还犯这种错误
 
3、
 
4、
【2】多个符号作为分隔符        String address="上海^上海市 @闵行区 #吴中路";       String[] splitAddress=address.split("\\^|@|# ");       System.out.println(splitAddress[0]+splitAddress
 
+splitAddress
 
+splitAddress
 
);
 
5、
总结:(1)split表达式,其实就是一个正则表达式。*  ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\\加以转义。            (2)如果使用多个分隔符则需要借助 | 符号,如【2】所示,但需要转义符的仍然要加上分隔符进行处理。
 
6、
做测试,由于这个字段没值,就直接把这句话注释掉了,只传了S_xc_no的值,一直报错
试过好多种方案都不行,试了下直接删除那行注释,OK了···很扯
 
7、

昨天犯了很基础的错误

1:

SELECT count(*) FROM GAFIS_PERSON WHERE DELETAG ='1' and ( status = 2 or status is null)

SELECT count(*) FROM GAFIS_PERSON WHERE DELETAG ='1' and status != '1'

 

SELECT STATUS FROM GAFIS_PERSON group by STATUS

 

由于status就只有1,2,null三种情况,这两条SQL查询的结果不同,很奇怪。。后来才知道,是oracle有个机制,在查第二条语句的时候直接把null的情况过滤掉了,不能这么写

 

2:公司有个全文检索工具叫monad,首先要配置数据映射,数据库是int型,映射里跟其他数据一起写成了Text型。

我要比对区间[-1,7]出来,查询结果错误的很严重,也没有源码可看,很着急。后来才知道要查int区间,配成Text绝对不可以啊···

底层要转换成二进制来运算,负值肯定就出错了

改<property name="min_fingermnt_count" cn_name="捺印特征数" column_type="Int" index_type="Keyword"  />

就对了

猜你喜欢

转载自719607746.iteye.com/blog/2397520