目录
对象关系映射(Object Relational Mapping), 将关系数据(库)中的业务数据用对象的形式表示,通过面向对象(Object-Oriented)方式将对象组织起来。对于面向对象而言,数据库应与业务逻辑分离,而不是绑定一起;ORM过程中是通过映射(Mapping)达到业务对象与数据库分离的目的。
在mysql数据库中有如下两张数据表:
映射成为以下两个对象:
比照着来看:
右边的数据表对应着左边的对象。
优点 |
缺点 |
实现了代码与数据操作的解耦合
当数据库要从mysql转成oracle,只需ORM底层去判断转成什么数据库对应要用的sql语句即可 |
牺牲性能
从对象转成sql的这个过程还是会牺牲性能(虽然对于性能的牺牲不是很严重,但还是有牺牲) |
无须写原生sql,开发效率up | 复杂语句力不从心
复杂的操作可能在性能上比不上原生SQL |
防止SQL注入
会进行SQL注入检测 |