欢迎来到天天文库
浏览记录
ID:28856510
大小:66.50 KB
页数:8页
时间:2018-12-14
《面试地地总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案1.hibernate与ibatis的优缺点。区别1:Hibernate是当前最流行的O/Rmapping框架,iBATIS是另外一种优秀的O/Rmapping框架。相对Hibernate“O/R”而言,iBATIS是一种“SqlMapping”的ORM区别2:Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/RMapping实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。程序员往往只需定义好了POJO到数据库表的映射关系,即可通过Hibernate提供的方法完成持久层操作。程序员甚至不需要对SQL的熟练掌握。 而iBAT
2、IS的着力点,则在于POJO与SQL之间的映射关系。也就是说,iBATIS并不会为程序员在运行期自动生成SQL执行。具体的SQL需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。Hibernate会自动生成SQL语句,而iBATIS则要求开发者编写具体的SQL语句。相对Hibernate而言,iBATIS以SQL开发的工作量比hibernate更复杂,但是数据库移植性上ibatis各优越, 二者的对比: 1.iBATIS非常简单易学,Hibernate相对较复杂,门槛较高。 2.二者都是比较优秀的开源产品 3.当系统属于二次开
3、发,无法对数据库结构做到控制和修改,那iBATIS的灵活性将比Hibernate更适合 4.系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种情况下iBATIS会有更好的可控性和表现。 5.iBATIS需要手写sql语句,也可以生成一部分,Hibernate则基本上可以自动生成,偶尔会写一些Hql。同样的需求,iBATIS的工作量比Hibernate要大很多。类似的,如果涉及到数据库字段的修改,Hibernate修改的地方很少,而iBATIS要把那些sqlmapping的地方一一修改。 6.H
4、ibernate现在已经是主流O/RMapping框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于iBATIS7.hibernate和ibatis都是持久层的ORM框架,hibernate是全自动化的,而ibatis是半自动化的。hibernate把我们要用到的增、删、改的SQL语句都封装了,我们不需要再自己手动写,直接调用即可,所以称它全自动。而对于ibatis,所有的SQL语句都要我们自己来手写,所以称它为半自动。2.spring的事务管理。事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间一条出现异常,
5、那么回滚到之前的所有操作,这样可以防止出现脏数据,防止数据库数据出现问题。开发中为了避免这种情况一般都会进行事务管理。S精彩文档实用标准文案pring中也有自己的事务管理机制,一般使用transactionManger进行管理,可以通过spring的注入来完成。Spring提供的事务管理可以分为两类:编程式、声明式。编程式,比较灵活,但是代码量大,存在重复的代码比较多:声明式比编程式更加灵活。1.编程式主要使用transactionTemplate。省略了部分的提交,回滚,一系列的事务对象定义,需注入事务管理对象。2.声明式:使用transactionProxyFactoryB
6、ean,围绕Poxy的动态代理,能够自动的提交和回滚事务。1.sql的内连接inner、全连接full与外连接的区别。外连接主要有左、右外连接,当左连接时(a表leftjoinb表ona.id=b.id),左表数据全部输出,右表输出与左表ona.id=b.id共有的数据,没有的用null表示。右连接相反。内连接inner时ona.id=b.id只有相同的数据输出。全连接输出俩张表中的全部数据。4.Struts1与struts2的区别。第一种方法:首先:struts1是通过servlet启动的。1、sturts1action是单例模式,全局只操作同一个事例,线程是不安全的。str
7、uts2action线程是安全的,action为每一个请求都生成了一个实例。2、sturts1过去依赖serletAPI,不容易测试。struts2不依赖于容器,允许Action脱离容器单独被测试。3、Struts1使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。4、Struts1ActionForm属性通常都是String类型。Struts1使用Commons-Beanuti
此文档下载收益归作者所有