1.什么是持久层?
持久层就是dao,数据库访问层。
2.hibernate中可以使用普通的sql查询,创建SQLQuery对象即可。
3.hibernate中如何实现分页查询?
setMaxResult,setFirstResult方法。
4.实际工作中,如何选用hibernate和ibatis?
管理系统一般由于逻辑较复杂,可以使用hibernate;而对于网站系统,则可以使用ibatis
5.乐观锁与悲观锁
乐观锁认为冲突不多见,即使有冲突,抛异常重来即可。通过增加version字段来实现。
悲观锁认为冲突很多,通过给记录来增加锁。
6.请求转发forward和重定向sendredirect区别
请求转发:服务器端由一个servlet跳转到另一个servlet,地址栏不发生改变。
重定向:整个过程请求了两次,并且这两次是独立的。地址栏发生改变。
7.拦截器和过滤器区别
拦截器:属于struts2范围之内,只能拦截action,内部机制是动态代理
过滤器:属于服务器范围,可以拦截一切,内部机制是函数的回调。
8.数据库连接池的原理
每次查询数据库都创建Connection对象的话,会消耗更多资源。可以先创建一堆Connection对象放到一个容器中,用的时候取出来即可。用完后放到数据库即可,这个容器就是数据库连接池。
9.如何优化数据库,提高查询速率?
①可以在查询较频繁的字段上建立索引
②避免使用复杂的子查询,如果子查询不可避免,那就在每次查询中过滤掉尽可能多的行
③避免使用like查询,更要避免使用复杂的表达式
持久层就是dao,数据库访问层。
2.hibernate中可以使用普通的sql查询,创建SQLQuery对象即可。
3.hibernate中如何实现分页查询?
setMaxResult,setFirstResult方法。
4.实际工作中,如何选用hibernate和ibatis?
管理系统一般由于逻辑较复杂,可以使用hibernate;而对于网站系统,则可以使用ibatis
5.乐观锁与悲观锁
乐观锁认为冲突不多见,即使有冲突,抛异常重来即可。通过增加version字段来实现。
悲观锁认为冲突很多,通过给记录来增加锁。
6.请求转发forward和重定向sendredirect区别
请求转发:服务器端由一个servlet跳转到另一个servlet,地址栏不发生改变。
重定向:整个过程请求了两次,并且这两次是独立的。地址栏发生改变。
7.拦截器和过滤器区别
拦截器:属于struts2范围之内,只能拦截action,内部机制是动态代理
过滤器:属于服务器范围,可以拦截一切,内部机制是函数的回调。
8.数据库连接池的原理
每次查询数据库都创建Connection对象的话,会消耗更多资源。可以先创建一堆Connection对象放到一个容器中,用的时候取出来即可。用完后放到数据库即可,这个容器就是数据库连接池。
9.如何优化数据库,提高查询速率?
①可以在查询较频繁的字段上建立索引
②避免使用复杂的子查询,如果子查询不可避免,那就在每次查询中过滤掉尽可能多的行
③避免使用like查询,更要避免使用复杂的表达式