2013-02-13 79 views
0

我有一個像如何與不同的執行相同的JDBC查詢有條件的地方

public List<Employee> getEmployeeById(Long id){ 
    final String query = "SELECT * FROM EMPLOYEE WHERE ID=?"; 
    preparedStatement.setLong(1,id); 

    // from the result set prepare employee object 
    // close result set 
    // close prepared stmt 
    // close connection. 
} 

現在Java方法如何改變的方法,讓自己的where子句可以「其中name =?」或'部門=?'或其他一些標準。

即 1.我不需要OBJ,因爲我用簡單的JDBC來解析結果集員工。 2.無需編寫相同的鍋爐板代碼(即關閉結果集,preparedstmt,conn)

我想使用簡單的JDBC。
我需要爲此編寫不同的方法或有任何其他方式。 請幫我解決這個問題。

+0

你可以通過這些PARAMS在你的方法參數,並在查詢中引用它們。沒有魅力,但如果你只是改變一個範圍,它會起作用。 – user1612272 2013-02-13 05:14:34

+0

我有6種不同的條件,那麼我的參數列表將變得更加冗長和醜陋。 – Shanmukhan 2013-02-13 05:39:21

+1

他們顯然不是相同的查詢,因爲他們有不同的條件;我建議像這樣對待他們。 – 2013-02-13 09:32:25

回答

0

你可以創建一個包含這些參數的類。傳遞類的實例而不是冗長的參數。 即

Class xyz = new Class(); 

xyz.TableName = 「不管」; xyz。 employeeID = 12345;

然後執行: getEmployeeByID(XYZ);

相關問題