感謝好建議,但我找到了解決辦法:)它比第一個想法有點不同,但是,使用一個我真的爲我工作得很好:)而不是使用prepareState和方法setObject一個StringBuilder的做字符串和執行查詢
private String makeInsertQuery(List<String> listOfColumnsNames, List<Object> listOfParameters, String tableName){
StringBuilder columns = new StringBuilder();
StringBuilder parameters = new StringBuilder();
String query = null;
if(listOfColumnsNames != null && listOfColumnsNames.size() != 0 && listOfParameters != null && listOfParameters.size() != 0 && tableName != null){
for(String string : listOfColumnsNames){
columns.append(string + ",");
}
columns.deleteCharAt(columns.length() - 1);
for(Object object : listOfParameters){
parameters.append ("'" + object + "'" + ",");
}
parameters.deleteCharAt(parameters.length() - 1);
query = "INSERT " + "INTO " + tableName + " (" + columns.toString() + ") " + " VALUES " + "(" + parameters.toString() + ")" ;
}
//TODO if you need check for null
return query;
}
我不想無禮,但如果你不能使用JDBC,不知道如何在Java中使用循環,憑啥你還沒有一個製作新的ORM框架?這就像想要爬上珠穆朗瑪峯時,你甚至不能走路。 –
我知道如何製作循環以及如何使用jdbc。在這個問題,我有實體惠特5列,我保存這些列arraylist中的值如何將它們保存在1次設置「insert into tableName values(?,?,?,?,?,?)?:) – user1571715
如果您知道如何使用循環,則不會有兩個嵌套循環在同一個列表上迭代,其中一個從1到大小而不是從0到大小 - 如果您知道如何使用JDBC,您將會知道如何使用JDBC準備一個語句,綁定參數,並在語句上調用executeUpdate()。閱讀Java教程,他們有一個關於[collections](http://docs.oracle.com/javase/tutorial/collections/)的文章, [JDBC](http://docs.oracle.com/javase/tutorial/jdbc/) –