语句在被db的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个涵数)就会得到执行.
这并不是说只有一个connection中多次执行的预编译语句被缓存,而是对于整个db中,只要预编译的语句语法和缓存中匹配.那么在任何时候就可以不需要再次编译而可以直接执行.而statement的语句中,即使是相同一操作,而由于每次操作的数据不同所以使整个语句相匹配的机会极小,几乎不太可能匹配.
其实preparedstatement还有好处就是增加了代码的可读性和维护性,以及安全性。
小伙子,汗.if(){
}else{
}
语句中,只有一个语句块会被执行,而且,只会被执行一次,所以,在在条件里打代码,是输出不了你要的结果的
想要输出你要的结果,只能在if的语句外加其它逻辑才可以.
记得多看基础,搞清楚各种语法和语句的用法
原因:没有加else
修改后代码:
public class Test {
public static void main(String[] args) {
/*if语句的第一种格式: if(条件表达式) { 执行语句; }*/
int x=1
if(x>1) {
System.out.println("Yes")//如果为真,则输出“Yes”
}
else {
System.out.println("over")
}
}
}
运行结果: