最近在开发的时候,发现团队小伙伴大量使用JPA来操作数据库,老实说,之前我一直使用myBatis。突然看到这个内心有点抵触。但是发现他们用JPA之后,连建表都免了。对于简单查询使用JPA省去了mybatis那一坨xml配置。但是对于多表关联查询,貌似就没那么简单了。这时候感觉mybatis就比较方便了。毕竟会写sql是每个后端程序员的基本功之一。下面我简单归纳一下两个的优、缺点;
JPA
优点:1、省去了建表的麻烦
2、单表查询比较简单
缺点:1、针对自动生成的表,对应的字段缺少注释,不方便后期维护
2、多变关联查询有一定的学习曲线
mybatis
优点:1、上手成本低,使用比较灵活
2、多表关联查询比较方便
缺点:1、不能自动根据实体类生成表
2、配置文件比较繁琐
各位看官,对于这块有补充的欢迎与我沟通。其实现在自动生成代码的工具比较多,种类繁多的工具谈不上所谓的好与不好,其实还是那句老话,适合自己使用的工具就是好工作,前段时间开发功能模块的时候,都是先把表结构设计好,然后借助easycode快速生成mybatis相关代码。用这个工具的一个好处就是数据库字段的注释在生成对应实体类的时候可以带过去。不过如果你有特俗需求,需要你自己改下生成代码模板,那个模板我改过,难度不大。
其实说到这,其实发现两个各有优缺点,我在想能不能把两个优点结合起来用,具体用哪个还是结合实际情况来。或者说结合两个优点一起来用。