package ddth.dasp.framework.bo.jdbc; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtils; import ddth.dasp.framework.bo.BaseBo; /** * Use this class as starting point for JDBC-based Business Object. * * @author NBThanh <btnguyen2k@gmail.com> * @version 0.1.0 */ public abstract class BaseJdbcBo extends BaseBo implements IJdbcBo { /** * {@inheritDoc} */ @Override public void populate(ResultSet rs) throws SQLException { populate(rs, rs.getMetaData()); } /** * {@inheritDoc} */ @Override public void populate(ResultSet rs, ResultSetMetaData rsMetaData) throws SQLException { Map<String, Object> data = new HashMap<String, Object>(); for (int i = 1, n = rsMetaData.getColumnCount(); i <= n; i++) { String colLabel = rsMetaData.getColumnLabel(i); if (StringUtils.isEmpty(colLabel)) { colLabel = rsMetaData.getColumnName(i); } Object value = rs.getObject(colLabel); data.put(colLabel, value); } populate(data); } }