2010-09-15 22 views
0

我打算嘗試使用JDBC和sqlite驅動程序將信息保存到文件中。它似乎工作正常,但我想知道是否有一個更自動的方式來設置它。也許幾乎就像一個鍵值對。更容易存儲到JDBC驅動程序

無論如何,這是我現在在做什麼?

Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db"); 
Statement stat = conn.createStatement(); 
stat.executeUpdate("drop table if exists people;"); 
stat.executeUpdate("create table people (name text, age int, etc...);"); 
PreparedStatement prep = conn.prepareStatement(
    "insert into people values (?, ?, etc...);"); 

for (int i = 0; i < persons.length; i++) { 
    prep.setString(1, persons[i].name) 
    prep.setString(2, persion[i].age) 
    .... 

    prep.addBatch() 
} 

conn.setAutoCommit(false); 
prep.executeBatch(); 

的(?,?)是一種哈克當有喜歡的十個字段我想從類存儲,這可能稍後改變。計數似乎很老派。

理想情況下,我只想通過我的課程並註釋我想存儲哪些字段(主要是基本類型整數),但如果它們是對象,則獲取它們註釋的字段。無論是那種或只是JDBC的東西,並且有一個更快,更清晰的語法來構建表和添加對象。這不一定是持久的。這僅適用於罕見的讀取和寫入。

回答

0

好吧,這聽起來你正在尋找JPA或休眠。這些框架完全按照您所描述的內容進行操作,爲您的字段添加註釋並將其保存在數據庫中。雖然有一條學習曲線,但它非常值得。

Here is more info about JPA

and here for hibernate

這些框架將允許映射到現有的數據庫或爲您創建新的開發表。

請注意,這些不是輕量級框架。

+0

在查看JPA後,我最終找到了orbroker,我認爲這符合我的需求。謝謝。 – voodoogiant 2010-09-28 12:50:38

+0

太好了,謝謝你的提示。我將研究這個項目,這看起來很酷。如果你喜歡做自己的SQL,你可能也會對mybatis感興趣,mybatis是你擁有SQL的非常成熟的OR框架。 – 2010-09-28 15:47:45