实际开发mybatis都是使用自动生成的sql么

2021-01-17 20:58:08 字数 897 阅读 8928

1楼:一退一人的

以前没怎么用过mybatis,只知道与hibernate一样是个orm数据库框架。随着使用熟练度的增加,发现它与hibernate区别是非常大的,结合至今为止的经验,总结出以下几点:

1. hibernate是全自动,而mybatis是半自动。

hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的javabean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。

2. hibernate数据库移植性远大于mybatis。

hibernate通过它强大的映射结构和hql语言,大大降低了对象与数据库(oracle、mysql等)的耦合性,而mybatis由于需要手写sql,因此与数据库的耦合性直接取决于程序员写sql的方法,如果sql不具通用性而用了很多某数据库特性的sql语句的话,移植性也会随之降低很多,成本很高。

3. hibernate拥有完整的日志系统,mybatis则欠缺一些。

hibernate日志系统非常健全,涉及广泛,包括:sql记录、关系异常、优化警告、缓存提示、脏数据警告等;而mybatis则除了基本记录功能外,功能薄弱很多。

4. mybatis相比hibernate需要关心很多细节

hibernate配置要比mybatis复杂的多,学习成本也比mybatis高。但也正因为mybatis使用简单,才导致它要比hibernate关心很多技术细节。mybatis由于不用考虑很多细节,开发模式上与传统jdbc区别很小,因此很容易上手并开发项目,但忽略细节会导致项目前期bug较多,因而开发出相对稳定的软件很慢,而开发出软件却很快。

hibernate则正好与之相反。但是如果使用hibernate很熟练的话,实际上开发效率丝毫不差于甚至超越mybatis。

成功是成功之母作文结合自己的生活实际谈,不能写什么

1楼 时光如梭 人们常说,成功孕育于失败之中。此话自然不假,然而,你是否想过成功也是成功之母呢? 福特汽车公司全球总裁兼首席执行官艾伦 穆拉利在谈到创业经验时曾说过 只有成功了,才可能赢得下一次更大的成功。 有一个年轻人大学毕业后被分到电视台工作。领导见他年轻,不敢把重要本子交给他来导,他接到的本子...

无意义的数都是虚数,数学虚数在现实生活没有用,为什么要发

1楼 匿名用户 不是。比如对1 x来说,x 0是无意义的数。 2楼 匿名用户 无意义的数主要有两类 1 无穷大类。 主要为除数为0或者0的对数, 1为底的对数 得出的结果。 比如1 0,2 0,tan90 ,lg0,log1 2 等等。 2 虚数类。 主要是负数开偶次方和负数的对数。 1, 2,lo...

超现实主义绘画的诞生之初,超现实主义绘画是当今的热门之一,它是从什么时候开始发展成熟的?

1楼 匿名用户 第一次世界大战结束之时,无论是战胜国英 法 俄等国,还是战败国德 奥等国,都不可避免地留下了让人不忍睹视的伤痕。整个欧洲,经济萧条 世态炎凉,人民生活困苦,整个社会弥漫着强烈的厌世 悲观的情绪。此种形势之下,人们 艺术家们 开始否定一切,开始逃避现实,追求不存在的梦幻,以脱离现实的悲...