最近学习它,并且尝试写一个小小的个人项目,虽然完成了,但是总感觉这种小小的项目好象没有必要用它(毕竟多了一层间接性)
那么,它:
1 用在什么规模的项目?
2 既然是屏蔽DB的差异,那么如果一个公司大部分情况下都是工作在一个数据库下(假定是MySQL),可以不用它吗?
3 2假定的情况存在吗?
最近学习它,并且尝试写一个小小的个人项目,虽然完成了,但是总感觉这种小小的项目好象没有必要用它(毕竟多了一层间接性)
那么,它:
1 用在什么规模的项目?
2 既然是屏蔽DB的差异,那么如果一个公司大部分情况下都是工作在一个数据库下(假定是MySQL),可以不用它吗?
3 2假定的情况存在吗?
所有ORM框架都用于解决
1) 公司没有专门的DBA维护SQL语句,也希望普通的研发能够在没有DBA的前提下进行一些数据库的操作.
2) 大部分的ORM框架都支持raw sql, 这样如果基于orm映射后的SQL如果性能不好的话,还有一定的优化空间。
3) 很多公司面临的一种情况,就是用户的需求随着项目的推进会有些变化,导致表结构和表之间的关联会产生变化,如果能有一种方式可以很容易的维护程序和SQL之间的映射,将会极大的提高开发效率。
所以相比用ORM来屏蔽底层的数据库具体实现,1)和 3)的意义更大些。
至于你说的2)和3),是会存在的,如果你对自己的SQL编写非常有信心并且不是很复杂的话,直接写SQL语句是没什么问题的