mybatis缺点

目前在mybatis中有如下“坑”存在
 
(1)配置文件加载问题
配置文件A、B、C,当A引用B,B引用C时,一旦先加载A,就会异常;
mybatis不会根据引用关系去自动加载,引用的顺序需要开发手动注意。
 
(2)由于不是面向对象的,mybatis 属性——字段 类型傻傻分不清楚
由于mybatis是半自动化的,非完全面向对象,故在保存值时,如果直接 #{value} 可能会出现错误;
当对象属性为int,而数据库字段类型为varchar时,mybatis不会为该值自动带上'',就会出现异常,解决方案: #{value, jdbcType=VARCHAR};
 
值得注意的是,这种缺陷连查询都会受到影响,比如: value字段有索引,但是由于查询时所带属性为int,mybatis会有一个转换的过程,也就没有走索引了
就像用map带值,如果字段不标注类型的话,就很难走索引。
 
(3)缓存操作麻烦
mybatis缓存操作非常麻烦,或者说不好建立缓存;主要原因就是它不是面向对象的;
 
像Hibernate就会好很多,不但有一级缓存,还有二级缓存,还有查询缓存;
 
 
(4)mybatis数据查出来后,它会根据xml文件的配置将数据,转换成相应的类型,如果该数据为null,而属性为int或double 就会报错
 
 
 
 

转载于:https://www.cnblogs.com/zhujunxiao/p/6859278.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis是一款基于Java的开源持久化框架,它可以将SQL语句与Java对象进行映射,使业务逻辑与数据持久化分离,提高开发效率。它的主要优点包括: 1. 简单易用:MyBatis使用简单直观的XML或注解配置,可以轻松地将SQL语句与Java对象进行映射,减少了开发人员的工作量。 2. 灵活性强:MyBatis支持定制化SQL语句,存储过程以及高级映射,开发人员可以自由地根据业务需求进行定制。 3. 性能优异:MyBatis通过对SQL语句的优化和缓存等机制,可以提高数据库访问的性能,特别适合处理大量数据和复杂查询。 4. 可扩展性好:MyBatis可以与其他框架和工具无缝集成,例如Spring和Spring Boot,使开发人员可以按照自己的需求搭建整体架构。 然而,MyBatis也有一些缺点需要注意: 1. 对SQL技能要求高:MyBatis需要开发人员具备一定的SQL技能和编程经验,以便编写和调优SQL语句。 2. 配置复杂:MyBatis的配置文件相对较复杂,需要开发人员熟悉框架的配置规则和语法。 3. 缺乏自动化:相比于全自动的ORM框架,MyBatis是一种半自动的ORM框架,需要开发人员手动编写SQL语句,较为繁琐。 综上所述,MyBatis是一款成熟且稳定的持久化框架,具有许多优点,但也需要开发人员具备一定的SQL技能和编程经验。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值