close
zxJDBC 讓開發者可以使用 Python DBI 2.0 標準去使用 JDBC,使用這個最大的好處是 JDBC driver 很多,用這個可以不用擔心找不到 driver 的問題。

這裡大量使用了 with 來讓 connection 自動關閉,由於 Jython 2.5 還沒有支援 with 敘述,使用的時候都得先用 from __future__ import with_statement 才行。

在建 cursor 時,可以帶 boolean 進去,True 的話表示是 dynamic cursor,因為沒有整個取回本地端,所以可以大幅降低記憶體用量,缺點就是無法取得 row count。

使用 cursor.tables(None, None, '%', ('TABLE',)) ,再去 cursor.fetchall() ,就可以取得 database 裡的所有 table。

使用 cursor.callproc('proc_test') 可以呼叫資料庫裡的 procedure

cursor 有一個 datahandler 的屬性,設置這個以後,可以去處理像是 preExecute, postExecute 或者是型別的轉換與處理。要設置的話,得先建一個繼承自 com.ziclix.python.sql.DataHandler 的類別,再去覆寫所需要處理的 method,然後再建立物件,指派給 cursor.datahandler 。

zxJDBC 不必另外安裝,已經包含在 jython.jar 裡。

ORM 的部分,介紹的是 SqlAlchemy。SqlAlchemy 是使用 mapper 來對應 Table 與類別 (from sqlalchemy.orm import mapper ),從範例看起來,是相當簡單。

接著是 Hibernate,但用 Hibernate 會不直覺,而且也比較複雜,需要寫 xml 等等的,作者不建議使用。

更多有關 The Definitive Guide to Jython: Python for the Java Platform 的事情
arrow
arrow

    elleryq 發表在 痞客邦 留言(0) 人氣()