居然被大佬邀请了,小透明表示害怕.jpg。
以下都是小白的粗见,大神轻喷。
最近在做的一个项目用的就是Mybatis。优点确实如其他几个回答中提到的那样。我来说几点我体会比较深的。
很适合会写SQL的程序猿使用。可以充分利用数据库的特性,比如存储过程,部分语法特性(MySQL的insert可以插入多条之类)。XML配置很强大。然而,下边疯狂吐槽一下缺点。我所感觉到最大缺点是繁琐,容易错。
繁琐的令人发指。要添加一个查询得做如下步骤:写SQL,在XML里边加入这段SQL(要指定这段SQL的参数,返回映射),在XML里边加入实体与数据库的映射(如果字段名和实体的field一致可以不用指定),增加Mapper接口。
然而,多数情况下,我只是想简单地根据一两个字段查下数据库啊。。。
然后就是喜闻乐见的事情:加了一个查询,辛辛苦苦配好了XML,一跑,报出一坨错误。最后发现是某个resultmapping中的一个字段写错了;数据库一个字段改了,满世界改XML和接口。。。
最后再吐槽一下idea的mybatis插件居然要钱。
spring-data-jpa没用过,但看了大佬 @Liqueur Librazy 写的一个玩意 Librazy/YeahBuddy 觉得这玩意真心好用,不用XML,查询靠接口名和注解,用了之后,生活会变的很好吧:)
题主所说的方法个人觉得值得一试,但两种相似的技术在整合方面可能会带来巨坑。正好暑假打算重构一波,用题主的思路去试一试,到时候再来回答。