什么是orm ORM的意思是什么呢?
對(duì)象/關(guān)系映射(ORM)是隨著面向?qū)ο筌浖_發(fā)方法的發(fā)展而產(chǎn)生的。面向?qū)ο蟮拈_發(fā)方法是當(dāng)今企業(yè)應(yīng)用開發(fā)環(huán)境中的主流開發(fā)方法,關(guān)系數(shù)據(jù)庫(kù)是企業(yè)應(yīng)用環(huán)境中永久存儲(chǔ)數(shù)據(jù)的主流數(shù)據(jù)存儲(chǔ)系統(tǒng)。對(duì)象和關(guān)系數(shù)據(jù)是業(yè)
對(duì)象/關(guān)系映射(ORM)是隨著面向?qū)ο筌浖_發(fā)方法的發(fā)展而產(chǎn)生的。面向?qū)ο蟮拈_發(fā)方法是當(dāng)今企業(yè)應(yīng)用開發(fā)環(huán)境中的主流開發(fā)方法,關(guān)系數(shù)據(jù)庫(kù)是企業(yè)應(yīng)用環(huán)境中永久存儲(chǔ)數(shù)據(jù)的主流數(shù)據(jù)存儲(chǔ)系統(tǒng)。對(duì)象和關(guān)系數(shù)據(jù)是業(yè)務(wù)實(shí)體的兩種形式。業(yè)務(wù)實(shí)體在內(nèi)存中表示為對(duì)象,在數(shù)據(jù)庫(kù)中表示為關(guān)系數(shù)據(jù)。內(nèi)存中的對(duì)象之間存在關(guān)聯(lián)和繼承關(guān)系,而數(shù)據(jù)庫(kù)中的關(guān)系數(shù)據(jù)不能直接表示多對(duì)多的關(guān)聯(lián)和繼承關(guān)系。因此,對(duì)象關(guān)系映射(object-relational mapping,ORM)系統(tǒng)一般以中間件的形式存在,主要實(shí)現(xiàn)程序?qū)ο蟮疥P(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)的映射。面向?qū)ο笫菑能浖こ痰幕驹恚ㄈ珩詈?、聚合和封裝)發(fā)展起來的,關(guān)系數(shù)據(jù)庫(kù)是從數(shù)學(xué)理論發(fā)展起來的。這兩種理論有很大的不同。為了解決這個(gè)問題,對(duì)象關(guān)系映射技術(shù)應(yīng)運(yùn)而生。
ORM的意思是什么呢?
對(duì)象關(guān)系映射(ORM)旨在像操作對(duì)象一樣操作數(shù)據(jù)庫(kù)。因?yàn)閿?shù)據(jù)庫(kù)不是面向?qū)ο蟮?,所以需要編程來映射。常見的ORM框架包括hibernate,類似ORM的框架包括mybatis,而newbee使用hibernate和mybatis,每次操作表時(shí)都需要編寫Dao文件。做一些重復(fù)的工作很無聊。Bee框架:一個(gè)十分鐘就能學(xué)會(huì)的ORM框架。它不需要為每個(gè)Dao編寫代碼,因此節(jié)省了時(shí)間和精力。開發(fā)效率很高,編碼復(fù)雜度為O(1)。一個(gè)javaorm框架,開發(fā)成本和開發(fā)速度都不比PHP差。
ORM是什么?
從ORM的名稱可以看出原理:引用映射,將對(duì)象轉(zhuǎn)換成SQL語句,然后持久化到RDB。
映射記錄對(duì)象和RDB(表)之間的映射關(guān)系,可以是XML文件或注釋。然而,不同的ORM產(chǎn)品具有不同的功能和復(fù)雜性。Hibernate很重,而ibatis很輕。