目录
Statement和PreparedStatement的区别?
1,非检查异常一定要处理吗?
非检查异常可以不处理,也可以处理,需要强制进行处理的
2,接口和抽象类能创建对象吗?
不能,因为接口没有构造方法;抽象类创建了对象也没有意义,因为调用抽象方法没有意义
3,sql语句中,sql关键字的执行顺序?
书写sql语句时各关键字的顺序:
select
from
where
group by
having
order by
执行顺序:
from
where
group by
having
select
order by
二、实例分析
SELECT lord 主公ID, MIN(wuli) 武力下限
FROM wujiang
WHERE wuli > 90
GROUP BY lord
HAVING MIN(wuli) > 95
ORDER BY wuli DESC
以上sql语句的执行步骤如下:
第一步:从武将表中查出武力大于等于90的武将;–执行where
第二步:将这些武将按主公id分组; –执行group by
第三步:筛选出最小武力值大于95的分组;–执行having
第四步:查出剩下各组中的下限值。–执行select
第五步:降序排序。–执行order by
结果如下:
4,Statement和PreparedStatement的区别?
1,PreparedStatement是继承与Statement,两者都是接口
2,PreparedStatement可以使用占位符,是预处理的,效率比Statement要高,只编译一次,后面即使执行多次也不需要再次编译,而Statement是执行几次就要编译几次
3,要对数据库进行一次性处理存取的时候,使用Statement,因为PreparedStatement开销比较大,它的性能体现在后面的重复执行上
4,preStatement是预编译的,所以可以有效的防止 SQL注入等问题