Back to project page SORM.
The source code is released under:
MIT License
If you think the Android project SORM listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.annotation.core; /*from w w w . ja va 2 s . c o m*/ import java.lang.reflect.Field; import com.annotation.entity.Sqlable; import com.annotation.utils.NameBuilder; import com.annotation.utils.ReflectionUtils; public class Inserter implements Sqlable { // insert into talbe(column1,column2...) values("1","3") private StringBuffer _targetColumn, _values; private String _table; public Inserter() { _targetColumn = new StringBuffer(); _values = new StringBuffer(); } public Inserter insert(Object obj) { try { _table = ReflectionUtils.getTableName(obj.getClass()); Field[] fields = ReflectionUtils.getColumnFields(obj.getClass()); for (Field field : fields) { String columnName = ReflectionUtils.getColumnName(field); if (columnName.equals("__id")) continue; _targetColumn.append(columnName).append(","); String method_name = NameBuilder.buildGetter(columnName); _values.append("\"") .append(ReflectionUtils.invokeGetMethod(obj, method_name).replaceAll("\\\"", "\\\\\"")).append("\"").append(","); } _targetColumn.deleteCharAt(_targetColumn.length() - 1); _values.deleteCharAt(_values.length() - 1); } catch (Exception e) { e.printStackTrace(); } return this; } @Override public String build() { StringBuffer builder = new StringBuffer(); builder.append("Insert Into").append(" "); builder.append(_table).append(" "); builder.append("(").append(_targetColumn).append(")").append(" "); builder.append("Values").append(" "); builder.append("(").append(_values).append(")").append(" "); return builder.toString(); } }