Example #1
0
  public static void insert(Object obj, DBInfo info, Connection conn) throws Exception {

    for (DBField f : info.getAutoKeys()) {
      long id = DBHelper.getAutoId(obj, info, f, conn);
      ObjectHelper.setAutoObjectField(obj, f, id);
    }

    PreparedStatement pstmt = null;
    try {

      String sql = "insert into " + info.getTable();
      sql += "(";
      int i = 0;

      for (DBField f : info.getAllFields()) {
        sql += f.getDBName();
        if (i < (info.getAllFields().size() - 1)) {
          sql += ",";
        }
        i++;
      }

      sql += ")";
      sql += " values(";
      i = 0;
      for (; i < info.getAllFields().size(); i++) {
        sql += "?";
        if (i < (info.getAllFields().size() - 1)) {
          sql += ",";
        }
      }

      sql += ")";

      pstmt = conn.prepareStatement(sql);

      i = 0;
      for (DBField f : info.getAllFields()) {
        DBHelper.setPreparedStatement(obj, pstmt, (i + 1), f);
        i++;
      }

      pstmt.execute();

    } catch (Exception e) {
      throw e;
    } finally {
      DBUtil.closePreparedStatement(pstmt);
    }
  }