當前位置:首頁 » 編程語言 » ormlite執行sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ormlite執行sql

發布時間: 2023-07-20 18:14:23

『壹』 有誰能通俗點的給我講解下ORM是什麼嗎網上查的一大把專業理論名詞。看了一頭霧水。有誰能通俗點將嗎

我用c#的說法給你解釋一下:

在ORM出現之前,.NET語言對資料庫操作都是使用ADO.NET

就是手動打開關閉sqlConnection ,然後手動拼接SQL語句,如:

select*fromstudent;

直接使用SQL語句雖然能帶來極大的性能體驗,但是也會有很多問題:

  1. SQL語句的錯誤不好檢查(因為SQL語句全是字元串,無法做語法檢查)

  2. 接收到的數據全是弱類型,如果你想要使用基本都要做類型轉換


ORM就是用本地的model代替資料庫裡面的各種表,你直接通過操作dbContext就可以獲得資料庫中的數據,然後它還使用一些技術把ADO.NET中一些麻煩的事給解決了

在EF中使用LINQ來編寫資料庫操作語法,ORM會自己將LINQ語句翻譯為對應的SQL語句,然後將返回的數據自動做類型轉換生成對應的model,就像這樣:

varstudentList=dbContext.Student.ToList();

使用ORM後既有語法檢查,又省略了很多以前繁瑣的操作,可以讓開發人員將更多的注意力集中到業務的處理上,提高他們的效率

同時一些好的ORM還會有緩存處理、合並執行SQL等其它功能;它絕對是現代中小型系統的開發必備

『貳』 不用orm,直接用sql,好嗎

沒啥不好的,orm的底層也都是sql,orm的目的是將數據對象化,利用面向對象的特點完成數據操作

『叄』 ORM是否必要

ORM可以防止注入作為附加功能,SQL也可以帶來反注入機制。ORM的主要作用是將資料庫域的對象映射到面向對象的域中,因為開發人員更熟悉它們。


開發人員在開發時更傾向於用對象的方式思考

通過ORM,抽象被構造並輸入到應用程序代碼中,這樣就可以在代碼中直接實現許多必要的約束,這有助於正確性。

『肆』 在python上怎麼使用sql

第一種辦法:

#導入SQLite驅動:
>>>importsqlite3
#連接到SQLite資料庫
#資料庫文件是test.db
#如果文件不存在,會自動在當前目錄創建:
>>>conn=sqlite3.connect('test.db')
#創建一個Cursor:
>>>cursor=conn.cursor()
#執行一條SQL語句,創建user表:
>>>cursor.execute('createtableuser(idvarchar(20)primarykey,namevarchar(20))')
<sqlite3.Cursorobjectat0x10f8aa260>
#繼續執行一條SQL語句,插入一條記錄:
>>>cursor.execute('insertintouser(id,name)values('1','Michael')')
<sqlite3.Cursorobjectat0x10f8aa260>
#通過rowcount獲得插入的行數:
>>>cursor.rowcount
1
#關閉Cursor:
>>>cursor.close()
#提交事務:
>>>conn.commit()
#關閉Connection:
>>>conn.close()

第二種辦法:

使用 SQLalchemy 等ORM 的庫。