python orm框架,java rails orm_php 模擬 rails 中的 ActionRecord 的 ORM (一)

 2023-12-06 阅读 26 评论 0

摘要:之前使用過 Rails 的人一定會對 ActionRecord 這個 ORM 實現有比較深的印象。所謂 ORM 即 Object-Relational Mapping,是指將主流的關系型數據庫轉化為類與對象從而達到與面向對象程序設計相結合的目的,從而能更方便、自由的使用數據庫資源。python orm框架,OR

之前使用過 Rails 的人一定會對 ActionRecord 這個 ORM 實現有比較深的印象。

所謂 ORM 即 Object-Relational Mapping,是指將主流的關系型數據庫轉化為類與對象

從而達到與面向對象程序設計相結合的目的,從而能更方便、自由的使用數據庫資源。

python orm框架,ORM 中將數據庫中的表映射為一個類,表的字段成為類中的變量,表中的每一個

記錄都映射為一個表類的實例,記錄中的各數據則用來初始化類的屬性。

這是一個比較簡單而直觀的方式,很多框架都有各自的 ORM? 實現。這里先給出測

試(測試就像是指南針,避免你迷失在代碼海洋里)。

java orm框架有哪些、1 print_r(Model::clear(all));

2

3 $tags = new Model(); //create a new table named as tags;4 $tags->title = 'varchar(40)';

5 $tags->date = 'timestamp default now()';

Java orm、6 print_r($tags->create());

7

8 $posts = newModel();

9 $posts->title = 'char(100)';

php java、10 $posts->date = 'timestamp default now()';

11 $posts->content = 'varchar(800)';

12 print_r($posts->create());

13

php、14 $users = new Model();

15 $users->name = 'char(40)';

16 $users->email = 'char(40)';

17 $users->password = 'char(32)';

java框架。18 $users->regist_date = 'timestamp default now()';

19

20 print_r($users->create());

這里創建了三個表, users, posts 和 tags。 這里創建表的方式看起來有些笨拙但

比較直觀。似乎沒有什么方便的地方,不過之后可以根據需要進行更新代碼,畢竟這還只是

初級版本。(各種完整的數據庫操作需要日后補全)

輸出結果如下:

1 DROP ALL TABLES DONE!

2 CREATE TABLE tags DONE!

3 CREATE TABLE posts DONE!

4 CREATE TABLE users DONE!

下面看看表的使用,還是代碼:

1 $a= new Users();

2

3 //find record4 $users = $a->find_by_name('kk');

5 $users = $a->find_by_name('zhangbo');

6

7 //create a new record;8 $b = new Users();

9 $b->name = 'fine';

10 $b->email = 'fine@gmail.com';

11 $b->save();

輸出為:

1Users::find_by_name("kk") has 0 result!

2Users::find_by_name("zhangbo") has 0 result!

因為此前數據庫中并不存在任何數據,所以輸出的結果都是空的。但此時的 $b->save()

會向數據庫中寫入一個新的 record。 所以最后我們有了一個持久化的結果。這里的 find_by_

使用了 php 中的一些魔術函數,以期獲得動態的 find 函數,如 find_by_id、find_by_name,

find_by_name_and_id 等。

BaDPwCAvf0FII7iXjhIt1QAAAAASUVORK5CYII=

詳細的代碼稍后給出。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/187469.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息