x先谈谈java方面的
mybatis的优势在于基本功能全面,支持sql统一管理,只需接口即可运行。然而,对于复杂sql语句的执行,mybatis的动态sql支持相对较弱,通常需要手动处理,特别是处理特殊符号时,仍需将其放在cdata中,这增加了调试的难度。
hibernate则显得有些重量级,使用起来稍显麻烦。虽然其hibernate query language(hql)提供了一定的查询能力,但最终还是需要通过调用xml或注解来配置sql映射,和mybatis相比,hibernate的sql统一管理功能不如强调,但它支持直接调用数据库sql,这点比mybatis更为方便。
dbutils在之前的项目中曾被用过,当时选择它是因为它功能强大且易于使用。然而,缺少代码生成器支持,导致需要自行实现一个生成器。尽管如此,dbutils的简单性和强大功能使其在小项目中仍然是一个不错的选择,尤其是当与druid连接池搭配使用时,体验更加流畅。
spring jdbc曾经被认为可以替代mybatis,但一直未有机会深入使用。这次使用dbutils后,才发现spring jdbc的功能相对薄弱,返回值类型较少,且缺乏灵活性,不得不自行实现很多功能。这种体验让人对spring的某些设计选择感到意外。
在.net的世界里,之前尝试过Castle框架,但后来转向自己写三层架构的代码生成器。后来有同事用反编译工具重新构建了一个代码生成器,这也让我对.net mvc的可能性有了更多的思考。
转载于:https://www.cnblogs.com/sddychj/p/9686598.html