A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 谷粒姐姐 于 2018-3-1 09:55 编辑

MVC的理解?
MVC是模型-视图-控制器的缩写,是一种软件设计思想, 它把应用程序的输入、处理和输出分开,解耦和。MVC中的模型、视图、控制器它们分别担负着不同的任务。
1.视图:视图是与用户打交道的,用于获取数据/显示数据
2.模型:模型表示业务数据和业务处理。一个模型能为多个视图提供数据。这提高了应用程序的重用性
3.控制器:控制器接受请求并调用相应的模型去处理请求。然后根据处理的结果调用相应的视图来显示处理的结果。
MVC模式的优点?
 优点:分层,结构清晰,耦合性低,大型项目代码的复用性得到极大的提高,开发人员分工明确,提高了开发的效率,维护方便,降低了维护成本
什么是Hibernate?
hibernate是一个优秀的持久层框架,轻量级,性能好,ORM映射灵活,数据库无关性好,对表与表的映射关系处理的很完善,对jdbc做了良好的封装,使得我们开发时与数据库交互不需要编写大量的sql语句。
对象关系映射(ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术;简单的说,ORM是通过使用描述对象和数据库之间映射的元数据(在Java中可以用XML或者是注解),将程序中的对象自动持久化到关系数据库中或者将关系数据库表中的行转换成Java对象,其本质上就是将数据从一种形式转换到另外一种形式。
Hibernate工作原理
原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory
为什么使用Hibernate(优点)
  1.Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码
l2.Hibernate是一个优秀的orm实现,可以以完全面相对象的思想来操作数据库
  4.移植性好,对于不同的数据库,只需要使用相同的数据操作即可,无需关心数据库之间的差异。
l5.Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库。
  6. 开发效率高。hibernate提供了大量的封装(这也是它最大的缺点),很多数据操作以及关联关系等都被封装的很好,开发者不需写大量的sql语句,这就极大的提高了开发者的开发效率。
hibernate的缺点
1.表关系复杂的时候效果不佳
2.如果一个项目要求SQL语句的细节优化,也不能用hibernate
3.表中数据太多,不适用。应该是小中型项目用hibernate比较好。
主键生成策略
  1.increment  由Hibernate从数据库中取出主键的最大值,以该值为基础,每次增量为1,在内存中生成主键,不依赖于底层的数据库,因此可以跨数据库。
  2.identity  依赖于数据的主键自增功能
  3.sequence        序列,依赖于数据中的序列功能(Oracle).
  4.hilo(纯了解,永远用不到) : Hibernate自己实现序列的算法,自己生成主键. (hilo算法 )
  5.native 自动根据数据库判断,三选一. identity|sequence|hilo
  6.uuid  生成32位的不重复随机字符串当做主键
  7.assigned 自己指定主键值. 表的主键是自然主键时使用.   
   
Java之五大框架面试题(一)

1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马