1. Oracle SQL分区(partition by)与分组(group by)有什么区别?
分区:将原始数据进行顺序排列(记录数不变)
分组:对原始数据进行聚合统计(记录数变少,每组返回一个结果)
2. Java 只有值传递
只不过值传递分为:内存中数值的值传递 以及 内存地址数值的值传递
Java中基本数据类型是以值传递的方式进行传参;
对象类型是以引用传递的方式进行传参;String类型不属于基本数据类型,
但是以值传递的方式进行传参;
3. Integer
4.@Configuration标注的类中 @Resource问题
@Configuration标注的类中 @Resource无法注入dao等,需要SpringContextUtil.getBean("xxxDao");
5.SQL not in
使用not in 的时候,如果not in后面的选项中有null,
不会被查询出来。sql语句本身直接返回false,
所以使用not in的时候,要保证in中的条件不会出现null的情况
6.mybatis 千万不要使用 where 1=1
2.垃圾条件,没必要加
where 元素只会在子元素返回任何内容的情况下才插入 “WHERE” 子句。
而且,若子句的开头为 “AND” 或 “OR”,where 元素也会将它们去除。
7.(String)、toString、String.valueOf的区别
(String)
这是标准的类型转换,将object转成String类型的值。使用这种方法时,需要注意的是类型必须能转成String类型。
因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出CalssCastException异常。
toString
在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法。
但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常
String.valueOf
这个方法是静态的,直接通过String调用,可以说是完美,只是平时不习惯这样写而已,这样的实现避免了前面两个的不足和缺点。
内部的实现机制:
public static String valueOf(Object obj){
return (obj==null) ? "null" : obj.toString()
};
8.### 在mybatis中 if test 的判断
<if test="formNumber != null and formNumber != ''">
而判断等于是
<if test='flag != null and flag == "3"'>
8.
8.
8.
8.