0
点赞
收藏
分享

微信扫一扫

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标签功能简单,编写动态sql仍然受限,且可读性低。

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

10. 参数的数据类型支持不完善。

注意:如参数为Date类型时,容易报没有get、set方法,需在参数上加@param

11. 多参数时,使用不方便,功能不够强大。

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

适用场合

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。

对性能的要求很高,或者需求变化较多的项目,如互联网项目,MyBatis将是不错的选择。

MyBatis的优缺点_sql

MyBatis的优缺点_sql_02

举报

相关推荐

Mybatis优缺点

比较hibernate和mybatis优缺点

MVC的优缺点

JWT的优缺点

ajax的优缺点?

springboot优缺点

datart优缺点

0 条评论