面试题

1.有哪些不同类型的IOC(依赖注入)方式?

构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。

Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂方法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖注入。

 

2.Hibernate是如何延迟加载的

  当调用Session上的load()方法加载实体时,就会采用延迟加载
       当Session加载某个实体时,会对这个实体中的集合属性值采用延迟加载
   当Session加载某个实体时,会对这个实体所单端关联(one-to-one,many-to-one)的另一个实体对象采用延迟加载
       总结一句话延迟加载就是分为类的延迟加载和集合的延迟加载,即类的延迟加载包括用load()方法加载实体和加载实体所单向关联的另一个实体的对象

3.Mybatis是如何进行分页的?分页插件的原理是什么?

Mybatis使用RowBounds对象进行分页,它是针对ResultSet结果集执行的内存分页,而非物理分页。可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件来完成物理分页。

分页插件的基本原理是使用Mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql,根据dialect方言,添加对应的物理分页语句和物理分页参数。

 

4.java九大内置对象

application---所有用户和整个服务器都可访问
  session---当前用户登录有效
  request---一次请求有效,通常在2个JSP中有效
  pageContext---当前用户一个JSP页面有效
  response 响应请求
  out 输出内容
  page 相当于JAVA中的this
  config 初始化的配置文件(web.xml)访问对象
  exception JSP中的异常处理

5、数据库里面的索引和约束是什么?

索引:

  索引是最为常用的改善数据库性能的技术。SQL Server引入索引主要是为了提高查询的效率,它能够加速ORDER BY和GROUP BY子句的操作,保证数据的唯一性,并加快表连接的速度。

约束:

  设计数据库完整性的目的是为了防止数据库存在不符合语义的数据,防止错误信息的输入和输出。SQL Server提供的用来实施数据完整性的途径主要是约束(Constraint)、标识列(Identity Column)、默认(Default)、规则(Rule)、触发器(Trigger)、数据类型(Data Type)、索引(Index)和存储过程(Stored Procedure)等

使用约束实施数据的完整性

  约束的用途是限制用户输入到表中的数据的值的范围,一般分为列级约束和表级约束两种。

 

posted @ 2019-10-28 17:03  开始刷卡  阅读(105)  评论(0编辑  收藏  举报