问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

spring框架和mybatis?

发布网友 发布时间:2024-09-27 07:51

我来回答

1个回答

热心网友 时间:2024-10-22 14:37

如何整合spring和mybatis框架

spring主要用来管理对象关系的,mybatis是链接数据库的。这两个单独也可以使用的,整合是因为现在sshssi比较流行也就是springStruts2hibernatemybatis也叫ibatis。

springmvc和mybatis框架的不同

1、mybatis是一个持久层框架,是apache下的开源项目,前身是itbatis,是一个不完全的ORM框架,mybatis提供输入和输出的映射,需要程序员自己写sql语句,mybatis重点对

sql语句的灵活操作。

适合用于:需求变化频繁,数据模型不固定的项目,例如:互联网项目。

2、springMVC易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。

它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得

spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比

struts所具有的优势。而且框架本身有代码,看起来容易理解。

spring+mybatis的优缺点

mybatis的优缺点:

优点:

1.?易于上手和掌握。

2.?sql写在xml里,便于统一管理和优化。

3.?解除sql与程序代码的耦合。

4.?提供映射标签,支持对象与数据库的orm字段关系映射

5.?提供对象关系映射标签,支持对象关系组建维护

6.?提供xml标签,支持编写动态sql。

缺点:

1.?sql工作量很大,尤其是字段多、关联表多时,更是如此。

2.?sql依赖于数据库,导致数据库移植性差。

3.?由于xml里标签id必须唯一,导致DAO中方法不支持方法重载。

4.?字段映射标签和对象关系映射标签仅仅是对映射关系的描述,具体实现仍然依赖于sql。(比如配置了一对多Collection标签,如果sql里没有join子表或查询子表的话,查询后返回的对象是不具备对象关系的,即Collection的对象为null)

5.?DAO层过于简单,对象组装的工作量较大。

6.??不支持级联更新、级联删除。

7.?编写动态sql时,不方便调试,尤其逻辑复杂时。

8?提供的写动态sql的xml标签功能简单(连struts都比不上),编写动态sql仍然受限,且可读性低。

9.?使用不当,容易导致N+1的sql性能问题。

10.?使用不当,关联查询时容易产生分页bug。

11.?若不查询主键字段,容易造成查询出的对象有“覆盖”现象。

12.?参数的数据类型支持不完善。(如参数为Date类型时,容易报没有get、set方法,需在参数上加@param)

13.?多参数时,使用不方便,功能不够强大。(目前支持的方法有map、对象、注解@param以及默认采用012索引位的方式)

14.?缓存使用不当,容易产生脏数据。

总结:

mybatis的优点其实也是mybatis的缺点,正因为mybatis使用简单,数据的可靠性、完整性的瓶颈便更多依赖于程序员对sql的使用水平上了。sql写在xml里,虽然方便了修改、优化和统一浏览,但可读性很低,调试也非常困难,也非常受限,无法像jdbc那样在代码里根据逻辑实现复杂动态sql拼接。mybatis简单看就是提供了字段映射和对象关系映射的jdbc,省去了数据赋值到对象的步骤而已,除此以外并无太多作为,不要把它想象成hibernate那样强大,简单小巧易用上手,方便浏览修改sql就是它最大的优点了。

mybatis适用于小型且程序员能力较低的项目和人群使用,对于中大型项目来说我并不推荐使用,如果觉得hibernate效率低的话(实际上也是使用不当所致,hibernate是实际上是不适用于拥有高负载的工程项目),还不如直接用spring提供的jdbc简单框架(Template),同样支持对象映射。

spring的优缺点:

优点

a.?Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的?API特制的framework,

Spring致力于解决剩下的问题。

b.?Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对

象的程度。

c.?通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类

要寻找的是哪个魔法般的属性项或系统属*到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性

。Inversion?of?Control的使用(在下面讨论)帮助完成了这种简化。

d.??通过把对接口编程而不是对类编程的代价几乎减少到没有,Spring能够促进养成好的编程习惯。

e.?Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。

f.??????使用Spring构建的应用程序易于单元测试。

g.??????Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local?EJBs来实现业务接口,却不会影响

调用代码。

h.??????Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。例如,Spring能使用AOP提

供声明性事务管理而不通过EJB容器,如果你仅仅需要与单个数据库打交道,甚至不需要一个JTA实现。

i.??????Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是O/R?mapping产品(如Hibernate)。

Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。

缺点:使用人数不多、jsp中要写很多代码、控制器过于灵活,缺少一个公用控制器

以上内容,是我在网络上找到的,希望对你有帮助~~

spring+springmvc+mybatis框架需要哪些jar包

mybatis依赖的jar非常少,主要有两个:

(1)mybatis自身jar,它就只有一个jar包构成,不像spring,有那么一大堆。在早期的版本,mybatis还需要依赖javassistjar(实现动态代理),ognljar(实现动态sql),而今mybatis已经将javassist和ognl融入了进来,全部整合到mybatis内部,所以目前mybatis自身只有一个jar构成。

(2)数据库驱动jar包,例如mysql-connector-java.jar等。其实,即便仅仅使用JDBC,也得依赖于数据库驱动jar包。

另外,还有两个当做补充的jar包:

(1)日志jar,例如log4j.jar,很多框架都依赖日志jar包,用于打印日志,方便调试。

(2)mybatis-springjar,可以将MyBatis代码无缝地整合到Spring中。

补充的jar,非必须要用到的,只想跑个mybatisdemo,则中需要上面的两个必须jar即可。

MyBatis中文官网

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
快手极速版怎么绑定不了微信? 本班数学期中测试的优秀率是50%是什么意思 期中测试中全班56名同学有42人达到了优秀标准熊启中是稠剂的优秀率是... 期中测试中,全班56名同学,有49跟达到了优秀标准,求期中测试的优秀率是... 东瓜怎样吃,是减肥的最佳效果呢? 木耳冬瓜瘦肉汤怎么做味道极佳? 黑木耳冬瓜肉末汤美食做法 和前男友分手一年多了,也没联系过,怎么昨晚突然梦到他,而且感觉好真实... 面对分手两年多后的前男友,我应该怎么办 ...了微信但不说话,相亲女加了微信却不聊天,这是什么心态?_百... 宝钢看什么期货 为什么我的IPHONE5接上wifi后网速超慢?? 请问一下,室上速的患者一定要进行手术么~还有这个是不是就是心律不齐... 清理手机把扣扣微信都清理下线了还忘记密码了通过恢复误删恢复能找回... 股票的t什么意思是什么 焦作大学的官网是什么? 308期三D歇后语字谜 股票的t什么意思是什么意思啊 股票的t什么意思是什么意思是什么意思 我扁桃体经常发炎引起发烧,大概一个月一次。这两天又发炎了,是化脓性的... 宁波的北仑区的问题 化脓性扁桃体炎反复发作怎么办 北仑老小区有哪些 宁波市北仑区怎么样啊? 扁桃体经常发炎,平均一个月一次,严重到化脓的程度 晚上睡不着白天睡不醒是怎么回事 晚上睡不着,白天睡不醒,这是怎么回事呀? 扁桃体化脓一个月发一次怎么办? 梦见自己孩子生病了是什么意思? safari浏览器详细使用教程 外表女生,性格爷们儿的女的,有男的喜欢吗?一般什么性格的男的才会喜欢... 3d字谜狼吃包子是啥数字 室上速会死人吗 不小心把微信卸载了,微信号忘了密码也忘了怎么办 股票的t什么意思是什么意思是什么 ​古代入赘并不是十分丢脸,男子为何还一辈子抬不起头? ...体贴的女生,还是长得特别漂亮,但是性格特别爷们的女生? 室上速有危害吗 08年河南焦作的毕业证图片 springboot+mybatis是如何配置多数据源的? 为什么iphone用wifi特别慢 ...卖家已发货可就是查不出来物流状态是怎么回事?求解 ...和性格坚毅不喜欢依靠别人比爷们儿还爷们儿的女生(长的不错),那种... 室上速会猝死吗 微信密码忘记了,绑定的手机号没用了,扣扣,微信号都没有绑定,请问下有什... 如果你想养一种小动物,可是父母认为养小动物有很多烦恼,你会怎么说服... ...抢数游戏,从1开始,每人每次抢一个数或者两个连续的数,谁能抢到30... 性格比较爷们儿,经常爆粗口的女生找男票为什么那么难? ...到30)游戏,一个人只能报一个数或连续报两个数,谁先报到30就赢,你... 落枕肩膀疼是怎么回事