一、静态包含和动态包含有什么区别?
答:静态包含是在编译时包含,会把包含到的所有jsp编译成一个Servlet。而动态包含是运行时包含,包含过程中,涉及到的所有jsp对应单独的一个Servlet。而且静态包含性能好的多。
数据库
一、oracle是目前比较流行的关系型数据库,在分布式数据库中占有重要的地位,那说一下什么是关系型数据库?
答:关系型数据库是建立在关系型模型上的基础数据库。而关系型模型是指二维表格及其表格之间的关系所组成的模型。当前主流的关系型数据有:mysql/oracle/Microsoft sql server/db2等。如:银行、电商网站等大型系统都使用oracle数据库。
二、有如下一条sql语句:
select empno as "员工号",ename "姓名",sal 月薪,sal*12,comm,sal*12+comm from emp;
请回答以下两个问题:
- “员工号”这个别名和”姓名”这个别名有没有什么区别?
答:没有区别,完全一样。 - “姓名”这个别名和月薪这个别名有没有什么区别?
答:月薪这个别名如果中间含有空格或者一些关键字的话,必须要加”“,还有别名如果是一个纯数字,也必须要加”“。
Hibernate框架
一、请说说Hibernate中的get/load方法的区别。
答:虽然get/load方法它们都是根据id去查询对象,但他俩的区别还是蛮大的:
- get方法直接得到一个持久化类型对象,它就是立即查询操作,也即我要什么就查到什么。
load方法它得到的是持久化类的代理类型对象(子类对象)。它采用了一种延迟策略来查询数据。这时如果PO类使用final修饰符,就会报错,因为final修饰的类不可以被继承。 - get方法在查询时,如果不存在返回null;load方法在查询时,如果不存在,会产生异常——org.hibernate.ObjectNotFoundException。