如何使用jdbc将对象的字段保存到数据库中

时间:2012-09-23 09:51:40

标签: java jdbc orm

我正在尝试制作自己的ORM框架。我从object获取值到arrayList,我试图一次性保存它们。我必须制作循环来保存它们,但我很困惑如何制作它?

prepareteState = connect.prepareStatement(Query);
for (int y = 1; y <= obs.size()  ; y++) {
    for(Object obj : obs){
        prepareteState.setObject(y, obj);
        System.out.println(Query);
        System.out.println(prepareteState.toString());
    }
}
prepareteState.execute();

1 个答案:

答案 0 :(得分:-1)

感谢您提出的建议但是,我找到了解决方案:)它与第一个想法有点不同但是,对我来说工作正常:)而不是逐个使用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;
}