All Downloads are FREE. Search and download functionalities are using the official Maven repository.

templates.repository.mapper.RowMapper.ftl Maven / Gradle / Ivy

Go to download

Maven plugin to generate Java classes from StoredProcedure and Functions in Database

There is a newer version: 1.8.20
Show newest version
<#if header>
/*
 * Copyright (C) 2019 Yadickson Soto
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see .
 */

package ${javaPackage}.repository.mapper;
<#list parameter.parameters as paramrs>
<#if paramrs.date>
<#assign importDate = 1>



import ${javaPackage}.domain.${parameter.javaTypeName};

import java.sql.ResultSet;
import java.sql.SQLException;
<#if importDate??>

import java.util.Date;


import org.springframework.jdbc.core.RowMapper;

/**
 * Resultset mapper for <#if proc.function>function<#else>stored procedure.
 *
 * ${proc.fullName}
 *
 * ${parameter.name}
 *
 * @author @GENERATOR.NAME@
 * @version @GENERATOR.VERSION@
 */
public final class ${parameter.javaTypeName}RowMapper
        implements RowMapper<${parameter.javaTypeName}> {

<#list parameter.parameters as paramrs>
    /**
     * Column <#if position>position<#else>name.
     */
    private static final <#if position>int<#else>String ${paramrs.name} = <#if position>${paramrs.position}<#else>"${paramrs.name}";


    /**
     * Resultset mapper.
     *
     * @param resultSet resultset.
     * @param i row number.
     * @throws SQLException if error.
     * @return object
     */
    @Override
    public ${parameter.javaTypeName} mapRow(
            final ResultSet resultSet,
            final int i
    ) throws SQLException {

        ${parameter.javaTypeName} row;
        row = new ${parameter.javaTypeName}();

<#if parameter.parameters?size <= 10 >
<#assign noFullChunk = 1>
<#list parameter.parameters as paramrs>
        ${paramrs.javaTypeName} ${paramrs.fieldName};


<#list parameter.parameters as paramrs>
<#if paramrs.string || paramrs.clob>
        ${paramrs.fieldName} = resultSet.getString(${paramrs.name});
<#elseif paramrs.blob>
        ${paramrs.fieldName} = resultSet.getBytes(${paramrs.name});
<#elseif paramrs.date>
        ${paramrs.fieldName} = resultSet.getTimestamp(${paramrs.name});
<#else>
        ${paramrs.fieldName} = (${paramrs.javaTypeName}) resultSet.getObject(${paramrs.name});



<#list parameter.parameters as paramrs>
        row.set${paramrs.propertyName}(${paramrs.fieldName});

<#else>
<#assign step = 0 >
<#list parameter.parameters?chunk(10) as childs>
<#assign step++ >
        fillStep${step}(resultSet, row);



        return row;
    }
<#if ! noFullChunk?? >
<#assign step = 0 >
<#list parameter.parameters?chunk(10) as childs>
<#assign step++ >

    /**
     * Fill row values for step ${step}.
     *
     * @param resultSet resultset.
     * @param row row to fill.
     * @throws SQLException if error.
     */
    private void fillStep${step}(
        final ResultSet resultSet,
        final ${parameter.javaTypeName} row
    ) throws SQLException {

<#list childs as paramrs>
        ${paramrs.javaTypeName} ${paramrs.fieldName};


<#list childs as paramrs>
<#if paramrs.string || paramrs.clob>
        ${paramrs.fieldName} = resultSet.getString(${paramrs.name});
<#elseif paramrs.blob>
        ${paramrs.fieldName} = resultSet.getBytes(${paramrs.name});
<#elseif paramrs.date>
        ${paramrs.fieldName} = resultSet.getTimestamp(${paramrs.name});
<#else>
        ${paramrs.fieldName} = (${paramrs.javaTypeName}) resultSet.getObject(${paramrs.name});



<#list childs as paramrs>
        row.set${paramrs.propertyName}(${paramrs.fieldName});

    }


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy