专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

xml查询 mysql,为什么还要用mybatis_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 13:23:53       共计:3598 浏览
xml查询 mysql,为什么还要用mybatis?

这个问题需要真实去使用过,在使用的过程中会发现各自框架的痛点,当你寻找解决方案的时候,你会看其它框架有没有解决这个问题,这样你就会领悟到另一个框架的优势了。

分享一个真实的实战经历:

项目刚开始使用原始JDBC方式操作数据库,自己手动建表不说,手动组装对象太痛苦,表字段和对象的关系映射写一堆代码,这时候就会想如果有个框架能自动把表和对象关系自动映射,并且能够封装好使用方法,在初始化时还能自动建表就更好了。

查找方案时发现了SpringDataJpa,仿佛打开了新世界的大门,原来通过写SQL查询再转成对象的增删改查都不用写了,表字段和对象的映射也不需要手工写代码去匹配可,直接使用,而且可以开启初始化时自动创建数据库表。原来需要消耗时间的数据库操作代码现在完全不用写了,简单的条件查询,直接调用封装的方法,快到起飞。但是随着业务数据的不断增多,要查询的条件也越来越复杂,查询时效越来越慢,渐渐对查询性能也有了要求。然后就想,在这样的使用便利上,如果有能便于优化数据库查询性能的解决方案就好了。

再次找解决方案,发现了MyBatis,感觉发现了另一个新世界。虽然,它不能直接把表和对象的关系映射自动封装好,但是它可以直接把操作结果映射成需要的对象,只需要建立对应的数据对象DTO就行,并且多表关联查询、复杂条件查询都可以写SQL解决,最重要的是SQL和逻辑代码分析,维护也很方便,SQL优化交给专业的DBA就行,再次好用到起飞。

突然有一天,公司强制要求数据库从oracle换成MySQL,发现Mybatis因为都是写的纯SQL,原来的SQL语法是oracle的,现在都要改,太依赖数据库了,不便于换数据源。这时想起了不依赖数据源的JPA。

总结一下个人看法:

JPA使用完全面向对象的的设计思想,一个表就是一个对象,所有的操作直接操作对象就行,方便、快捷,也不需要关注底层数据源问题,但是表之间的关系复杂了、查询复杂了,这样的操作不是它的强项。

Mybatis是半面向对象、半面向SQL,SQL与逻辑代码分离,查询结果映射成对象,所有操作上层是对象,下层用SQL,数据查询优化上更加实用,因为是写原生SQL,所以换数据源可能麻烦。

还是业内的那句老话,没有绝对“银弹”,只有适合当前业务发展需要的技术。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:大数据分析报告如何给企业带来价值_数据库 | ·下一条:mysql查询年龄,一条SQL查询语句是如何执行的_数据库

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有