# ProductAttributeItemMapper.java

    package com.mycim.server.spec.dao.mapper;

    import com.mycim.framework.jdbc.mapper.RowMapper;
    import com.mycim.valueobject.prp.ProductAttributeItem;

    import java.sql.ResultSet;
    import java.sql.SQLException;

    public class ProductAttributeItemMapper implements RowMapper<ProductAttributeItem> {

        private ProductAttributeItem prodAttribute;

        @Override
        public ProductAttributeItem mapRow(ResultSet rs, int rowNum) throws SQLException {

            prodAttribute = new ProductAttributeItem();
            prodAttribute.setProductRrn(rs.getLong("PRODUCT_RRN"));
            prodAttribute.setProductId(rs.getString("PRODUCT_ID"));
            prodAttribute.setProductVersion(rs.getInt("PRODUCT_VERSION"));
            prodAttribute.setProcessRrn(rs.getLong("PROCESS_RRN"));
            prodAttribute.setProcessId(rs.getString("PROCESS_ID"));
            prodAttribute.setProcessVersion(rs.getInt("PROCESS_VERSION"));
            prodAttribute.setRouteSeq(rs.getString("ROUTE_SEQ"));
            prodAttribute.setRouteRrn(rs.getLong("ROUTE_RRN"));
            prodAttribute.setRouteVersion(rs.getInt("ROUTE_VERSION"));
            prodAttribute.setRouteId(rs.getString("ROUTE_ID"));
            prodAttribute.setOperationSeq(rs.getString("OPERATION_SEQ"));
            prodAttribute.setOperationRrn(rs.getLong("OPERATION_RRN"));
            prodAttribute.setOperationId(rs.getString("OPERATION_ID"));
            prodAttribute.setFlowSeq(rs.getString("FLOW_SEQ"));
            prodAttribute.setAttributeName(rs.getString("ATTRIBUTE_NAME"));
            prodAttribute.setAttributeNameRrn(rs.getLong("ATTRIBUTE_NAME_RRN"));
            prodAttribute.setAttributeValue(rs.getString("ATTRIBUTE_VALUE"));
            prodAttribute.setAttributeValueRrn(rs.getLong("ATTRIBUTE_VALUE_RRN"));
            prodAttribute.setStatus(rs.getString("STATUS"));
            prodAttribute.setEffectiveTime(rs.getTimestamp("EFFECTIVE_TIME"));
            prodAttribute.setTerminatedTime(rs.getTimestamp("TERMINATED_TIME"));
            prodAttribute.setCreatedUser(rs.getString("CREATED_USER"));
            prodAttribute.setCreatedTime(rs.getTimestamp("CREATED_TIME"));
            prodAttribute.setUpdatedUser(rs.getString("UPDATED_USER"));
            prodAttribute.setUpdatedTime(rs.getTimestamp("UPDATED_TIME"));

            return prodAttribute;
        }

    }