ORM入門
關係型資料庫和實體間做對映,操作物件的屬性和方法,跳過SQL語句
物件關係對映(英語:Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),用於實現物件導向程式語言裡不同型別系統的資料之間的轉換。其實是建立了一個可在程式語言裡使用的"虛擬物件資料庫"。Object是可以繼承的,是可以使用介面的,而Relation沒有這個概念。
ORM簡介
物件關係對映(Object Relational Mapping,簡稱ORM)模式是一種為了解決物件導向與關聯式資料庫存在的互不匹配的現象的技術。簡單的說,ORM是通過使用描述物件和資料庫之間對映的後設資料,將程式中的物件自動持久化到關聯式資料庫中。那麼,到底如何實現持久化呢?一種簡單的方案是採用硬編碼方式,為每一種可能的資料庫訪問操作提供單獨的方法。
這種方案存在以下不足:
1.持久化層缺乏彈性。一旦出現業務需求的變更,就必須修改持久化層的介面
2.持久化層同時與域模型與關聯式資料庫模型繫結,不管域模型還是關聯式資料庫模型發生變化,毒藥修改持久化曾的相關程式程式碼,增加了軟體的維護難度。
ORM提供了實現持久化層的另一種模式,它採用對映後設資料來描述物件關係的對映,使得ORM中介軟體能在任何一個應用的業務邏輯層和資料庫層之間充當橋樑。Java典型的ORM中介軟體有:Hibernate,ibatis,speedframework。
ORM的方法論基於三個核心原則:
· 簡單:以最基本的形式建模資料。
· 傳達性:資料庫結構被任何人都能理解的語言文件化。
· 精確性:基於資料模型建立正確標準化了的結構。
相關文章
- 手寫ORM入門篇(一)ORM
- Go Web 程式設計入門--應用 ORMGoWeb程式設計ORM
- LambdaToSql(輕量級ORM) 入門篇 開源專案SQLORM
- SqlSugar ORM 入門篇2 【查詢】 讓我們實現零SQLSqlSugarORM
- .net 溫故知新:【10】.NET ORM框架EFCore使用入門之CodeFirs、DBFirstORM框架
- Blazor入門100天 : 身份驗證和授權 (6) - 使用 FreeSql orm 管理ids資料BlazorSQLORM
- 記錄laravel orm trait載入小技巧LaravelORMAI
- 入門入門入門 MySQL命名行MySql
- 何入CTF的“門”?——所謂入門就是入門
- 如何入CTF的“門”?——所謂入門就是入門
- scala 從入門到入門+
- makefile從入門到入門
- gRPC(二)入門:Protobuf入門RPC
- 【小入門】react極簡入門React
- Android入門教程 | RecyclerView使用入門AndroidView
- orm使用ORM
- ORM 陷阱ORM
- Django ORMDjangoORM
- 新手入門,webpack入門詳細教程Web
- Android入門教程 | Kotlin協程入門AndroidKotlin
- 《Flutter 入門經典》之“Flutter 入門 ”Flutter
- MyBatis從入門到精通(一):MyBatis入門MyBatis
- 手擼ORM淺談ORM框架之Add篇ORM框架
- 手擼ORM淺談ORM框架之Update篇ORM框架
- 手擼ORM淺談ORM框架之Query篇ORM框架
- 手擼ORM淺談ORM框架之Delete篇ORM框架delete
- Tableau入門
- angular入門Angular
- lodash入門
- Webpack 入門Web
- golang 入門Golang
- lapis入門API
- MarkDown入門
- JSP入門JS
- UML入門
- VuePress 入門Vue
- RSA入門
- jQuery入門jQuery