DBIO 편집기

DBIO 편집기에서 커스터마이징 할 수 있는 영역을 제공합니다.

1. 제공되는 커스터마이징 목록(3)

DBIO 편집기에서 제공되는 커스터마이징 영역 목록
기능 설명

bindMyBatisTagProposalProvider

DBIO 편집기/SQL 편집기에서 마이바티스 태그 제안 제공자를 바인딩합니다.

bindSqlToIoNamingDeterminator

[SQL to IO] 기능을 통해 생성되는 IO의 이름을 결정하는 이름 결정자를 바인딩합니다.

bindTableColumnMetaConverter

SQL 테스트 기능에서 메타 정보를 이용해 컬럼 정보를 변환하는 변환기를 바인딩합니다.

2. 상세

메소드의 기능을 확인하고 필요한 부분을 커스터마이징 할 수 있습니다.

2.1. bindMyBatisTagProposalProvider

DBIO 편집기/SQL 편집기에서 마이바티스 태그 제안 제공자를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.datatools.product.IMyBatisTagProposalProvider

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.datatools.BxmMyBatisTagProposalProvider

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtMyBatisTagProposalProvider

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.se.datatools.BxmMyBatisTagProposalProvider

                /**
                 * DBIO 편집기/SQL 편집기에서 마이바티스 태그 제안 제공자
                 */
                class ExtMyBatisTagProposalProvider extends BxmMyBatisTagProposalProvider{

                    /**
                     * if (not null)태그를 반환합니다.
                     */
                    override String getIfNotNullTag()'''
                        <if test="x != null">
                            /* SQL */
                        </if>'''

                    /**
                     * if (equals) 태그를 반환합니다.
                     */
                    override String getIfEqualsTag()'''
                        <if test="x.equals('y')">
                            /* SQL */
                        </if>'''

                    /**
                     * foreach 태그를 반환합니다.
                     */
                    override String getForeachTag()'''
                        <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
                            /* SQL */
                        </foreach>'''

                    /**
                     * choose 태그를 반환합니다.
                     */
                    override String getChooseTag()'''
                        <choose>
                            <when test="">/* SQL */</when>
                            <otherwise>/* SQL */</otherwise>
                        </choose>'''

                    /**
                     * when 태그를 반환합니다.
                     */
                    override String getWhenTag()'''
                        <when test="">/* SQL */</when>'''

                    /**
                     * trim 태그를 반환합니다.
                     */
                    override String getTrimTag()'''
                        <trim prefix="" prefixOverrides="" suffix="" suffixOverrides="">
                            /* SQL */
                        </trim>'''

                    /**
                     * set 태그를 반환합니다.
                     */
                    override String getSetTag()'''
                        <set>
                            /* SQL */
                        </set>'''

                    /**
                     * where 태그를 반환합니다.
                     */
                    override String getWhereTag()'''
                        <where>
                            /* SQL */
                        </where>'''

                    // TODO 필요한 기능 override 하여 사용.
                }

4. 재구현된 메소드 목록(8)

재구현된 메소드 목록
메소드 이름 설명

getIfNotNullTag

if (not null)태그를 반환합니다.

getIfEqualsTag

if (equals) 태그를 반환합니다.

getForeachTag

foreach 태그를 반환합니다.

getChooseTag

choose 태그를 반환합니다.

getWhenTag

when 태그를 반환합니다.

getTrimTag

trim 태그를 반환합니다.

getSetTag

set 태그를 반환합니다.

getWhereTag

where 태그를 반환합니다.

2.2. bindSqlToIoNamingDeterminator

[SQL to IO] 기능을 통해 생성되는 IO의 이름을 결정하는 이름 결정자를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.core.dbio.module.ISqlToIoNamingDeterminator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.dbio.model.BxmSqlToIoNamingDeterminator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtSqlToIoNamingDeterminator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;

                import com.bankwareglobal.ide.bxframework.core.dbio.model.SqlId;
                import com.bankwareglobal.ide.bxframework.core.dbio.module.ISqlToIoNamingDeterminator;
                import com.bankwareglobal.ide.commons.utils.StringUtils;

                public class ExtSqlToIoNamingDeterminator
                implements ISqlToIoNamingDeterminator
                {
                    /**
                     * DBIO 에디터의 SQL->IO 기능을 통해 생성되는 Input DTO의 패키지 이름을 반환합니다.
                     */
                    @Override
                    public String getInputIoPackageName(SqlId sqlId, String dbioPackageName, String dbioClassName, String id) {
                        return String.join(".", StringUtils.nvl(dbioPackageName), "io");
                    }

                    /**
                     * DBIO 에디터의 SQL->IO 기능을 통해 생성되는 Input DTO의 클래스 이름을 반환합니다.
                     */
                    @Override
                    public String getInputIoClassName(SqlId sqlId, String dbioPackageName, String dbioClassName, String id) {
                        return StringUtils.nvl(dbioClassName) + "InDto";
                    }

                    /**
                     * DBIO 에디터의 SQL->IO 기능을 통해 생성되는 Output DTO의 패키지 이름을 반환합니다.
                     */
                    @Override
                    public String getOutputIoPackageName(SqlId sqlId, String dbioPackageName, String dbioClassName, String id) {
                        return String.join(".", StringUtils.nvl(dbioPackageName), "io");
                    }

                    /**
                     * DBIO 에디터의 SQL->IO 기능을 통해 생성되는 Output DTO의 클래스 이름을 반환합니다.
                     */
                    @Override
                    public String getOutputIoClassName(SqlId sqlId, String dbioPackageName, String dbioClassName, String id) {
                        return StringUtils.nvl(dbioClassName) + "OutDto";
                    }

                }

4. 재구현된 메소드 목록(4)

재구현된 메소드 목록
메소드 이름 설명

getInputIoPackageName

DBIO 에디터의 SQL→IO 기능을 통해 생성되는 Input DTO의 패키지 이름을 반환합니다.

getInputIoClassName

DBIO 에디터의 SQL→IO 기능을 통해 생성되는 Input DTO의 클래스 이름을 반환합니다.

getOutputIoPackageName

DBIO 에디터의 SQL→IO 기능을 통해 생성되는 Output DTO의 패키지 이름을 반환합니다.

getOutputIoClassName

DBIO 에디터의 SQL→IO 기능을 통해 생성되는 Output DTO의 클래스 이름을 반환합니다.

2.3. bindTableColumnMetaConverter

SQL 테스트 기능에서 메타 정보를 이용해 컬럼 정보를 변환하는 변환기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.core.sql.ITableColumnMetaConverter

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.extensions.impl.BxmTableColumnMetaConverter

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtTableColumnMetaConverter

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;

                import java.util.List;

                import com.bankwareglobal.ide.bxframework.core.sql.BindingVariable;
                import com.bankwareglobal.ide.bxframework.core.sql.ITableColumnMetaConverter;
                import com.bankwareglobal.ide.bxframework.core.sql.SqlResultColumn;
                import com.bankwareglobal.ide.bxframework.core.validator.IValidator;
                import com.beust.jcommander.internal.Lists;

                /**
                 * SQL 테스트 기능에서 메타 정보를 이용해 컬럼 정보를 변환하는 변환기
                 */
                public class ExtTableColumnMetaConverter
                implements ITableColumnMetaConverter {

                    /**
                     * DBIO 에디터의 SQL 테스트 기능에서 메타 정보를 이용하여 컬럼 정보를 변환합니다.
                     */
                    @Override
                    public SqlResultColumn convert(SqlResultColumn sqlResultColumn) {
                        return null;
                    }

                    /**
                     * SQL 의 대한 컬럼 검증기 목록을 반환합니다.
                     */
                    @Override
                    public List<IValidator<SqlResultColumn>> createSqlResultColumnValidators() {
                        return Lists.newArrayList();
                    }

                    /**
                     * DBIO 에디터의 SQL 테스트 기능에서 메타 정보를 이용하여 바인딩변수를 변환합니다.
                     */
                    @Override
                    public BindingVariable convert(BindingVariable bindingVariable) {
                        return null;
                    }

                }

4. 재구현된 메소드 목록(3)

재구현된 메소드 목록
메소드 이름 설명

convert

DBIO 에디터의 SQL 테스트 기능에서 메타 정보를 이용하여 컬럼 정보를 변환합니다.

createSqlResultColumnValidators

SQL 의 대한 컬럼 검증기 목록을 반환합니다.

convert

DBIO 에디터의 SQL 테스트 기능에서 메타 정보를 이용하여 바인딩변수를 변환합니다.

Copyright© Bankwareglobal All Rights Reserved.