2013-02-13 63 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);

相关问题