我需要编写相当直接的DB代码,而我正在考虑MyBatis而不是普通的JDBC(我相信完整的ORM是一种矫枉过正的行为)。
考虑到在MyBatis和普通JDBC中你都找到了自己:
我知道的MyBatis优于JDBC的好处是:
还有哪些其他MyBatis-Over-JDBC好处需要考虑?
答案 0 :(得分:3)
我不知道你会把这个算作优势与否,但有MyBatisGenerator,它还会生成所有基本需要的查询和一些高级查询,并且DTO对象会根据单个XML文件自动生成。
另外它有Eclipse Plugin同样的。
答案 1 :(得分:2)
大多数情况下,您不需要将明确列映射到pojos,因此子弹号2是差异而不是相似性。
主要区别IMHO是MyBatis中的API比在JDBC中简单得多。如果与Spring或Guice一起使用,则根本不需要在代码中调用MyBatis API。
映射器和注入有助于测试很多,因为映射器是简单的接口,因此很容易模拟。
答案 2 :(得分:2)
关于:'手动将数据库行连接到JAVA DTO对象(通过代码或配置)。' 这并非完全正确,如果您使用约定,您可以获得从DB表到Java类的自动映射,例如,您有一个CUSTOMER表,其中包含ID,COMPANY_NAME,PHONE_NUMBER和具有属性id,companyName和属性的Java类Customer字段。 phoneNumber,MyBatis足够智能,可以将数据库设计为驼峰大小写,并且不需要您进行映射。大!