我剛開始使用MySQL,我只能看到自己用字符串開火! 我的意思是編譯器不能捕獲像這樣的錯誤,它只是一團糟! 有沒有一個包裝或某種我可以添加的類,做一些簡單的事情就像創建一個添加一個表並請求參數的函數一樣?如何獲得優質的MySQL查詢恐怖檢查
我確定有這樣一個工具,但我找不到它或知道它的名字。
我剛開始使用MySQL,我只能看到自己用字符串開火! 我的意思是編譯器不能捕獲像這樣的錯誤,它只是一團糟! 有沒有一個包裝或某種我可以添加的類,做一些簡單的事情就像創建一個添加一個表並請求參數的函數一樣?如何獲得優質的MySQL查詢恐怖檢查
我確定有這樣一個工具,但我找不到它或知道它的名字。
你基本上在尋找一個對象關係映射器。 Hibernate是這方面的一員。 JPA是由Hibernate背後的人員組成的一個在這個領域內的新的和成熟的Java EE標準。 Hibernate和EclipseLink提供JPA實現。
存在IDE工具來自動生成基於數據庫模型的Java類,反之亦然,例如Hibernate Tools用於「良好的」Hibernate和Eclipse Dali用於JPA。
如果您不想使用ORM和/或不想自動生成模型對象,那麼您只需確保爲數據庫模型設計了正確的模型對象。即使用Long
屬性可以獲得BIGINT
字段,屬性可用於DECIMAL
字段等。您可以在this page中找到默認映射的概述。
在「普通香草」JDBC中,您至少應該使用PreparedStatement
方法來組合SQL查詢,而不是串聯爲String。針對特定數據類型有很多方法,如setLong()
,setBigDecimal()
等。 PreparedStatement
不僅可以簡化在SQL查詢中設置像Date
和InputStream
這樣的完全Java對象,還可以阻止來自SQL injectionattacks的代碼。您可以在Sun JDBC tutorial中瞭解有關PreparedStatement
的更多信息,並且您可以在this article中找到基本的啓動DAO教程。
tnx開始看着這一切 – kalix 2010-06-02 12:05:21
您可以使用像Hibernate這樣的對象關係映射器。另見What Java ORM do you prefer, and why?。
給JDBC JDBC prepared statements一試。
是的,使用SQL查詢**正在處理字符串。非常便利。你在這有什麼錯? – 2010-06-02 11:42:34