1.抽象类为什么不能创建对象
1)没有意义,抽象类等着被实现。抽象类是不完整的需要去实现,抽象类实现后抽象类作为父类引用指向实现的子类对象。
2)抽象类没有具体的实现方法,无法根据其分配内存空间。
2.SQL查询语句关键字的执行顺序
from->where->group by->having->select->order by
1 | FROM | from子句返回初始结果集 |
2 | ON | 排除不满足join的条件的行 |
3 | JOIN | 多表关联 |
4 | WHERE | 子句排除不满足搜索条件的行 |
5 | GROUP BY | 子句将选定的行收集到group by子句中各个唯一值的组中 |
6 | HAVING | 子句排除不满足搜索条件的行 |
7 | SELECT | 列名,此时可以为列名起别名,列名之间用逗号隔开 |
8 | DISTINCT | 可以在select子句中,找出唯一值 |
9 | ORDER BY | 对结果集进行排序 |
10 | LIMIT | 限定查询的行数,一般放在查询语句的最后面 |
3.Statement和PreparedStatement的区别
PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高
1)PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程
2)使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。
3)statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理