Skip to content

Instantly share code, notes, and snippets.

@upsilon
Created April 11, 2010 14:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save upsilon/362780 to your computer and use it in GitHub Desktop.
Save upsilon/362780 to your computer and use it in GitHub Desktop.
Class c = object.getClass();
Field fields[] = c.getFields();
StringBuilder query = new StringBuilder()
.append("INSERT INTO ").append(c.getName())
.append(" VALUE (");
for (int i = 0; i < fields.length; i++) query.append("?,");
query.deleteCharAt(query.length());
query.append(')');
PreparedStatement st = connection.prepareStatement(query.toString());
for (Field field : fields)
{
if (!Modifier.isPublic(field.getModifiers()))
{
continue;
}
String name = field.getName();
if (field.getType().equals("int"))
{
st.setInt(name, field.getInt(object));
}
else if (field.getType().equals("string"))
{
st.setString(name, field.get(object).toString());
}
// 必要に応じて追加
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment