如何使用两个WHERE子句编写JDBC请求。 当我只有一个WHERE cluse请求没问题。
// example of array
String[] listeId1 = null;
listeId1[0] =['0'];
listeId1[1] =['1'];
String[] listeId = null;
listeId[0] = ['00']
listeId[1] = ['01']
//I don't know how many elements there will be in listeId1 and listeId
String inClause = "?";
int i = 1;
while (i <= listeId.length - 1 ) {
inClause += ",?";
i++;
}
//my request
List<Map<String, Object>> result = this.getJdbcTemplate()
.queryForList("SELECT * FROM TABLE_FONCTION " +
"WHERE ROLE_ID IN (" + inClause + ")" , listeId
+ " AND PROCESSUS_ID IN (" + inClause1 + ")" ,listeId1 )
;
// Definition of my table
CREATE TABLE TABLE_FONCTION (
FONCTION_ID NUMBER(18) NOT NULL,
ACTIVE CHAR(1) NOT NULL,
TYPE_FONCTION_ID NUMBER(18) NOT NULL,
PROCESSUS_ID NUMBER(18) NOT NULL,
ROLE_ID NUMBER(18) NOT NULL
);
我的要求有什么问题?
答案 0 :(得分:0)
你从未定义inClause1
;特别是在使用它构建查询之前。