SqlTemplateValueType.java
- package com.github.mygreen.splate.type;
- import org.springframework.lang.Nullable;
- /**
- * SQLテンプレート中のパラメータ(変数)の型とJDBCの型を橋渡しするためのインタフェースです。
- *
- *
- * @author T.TSUCHIE
- * @param <T> マッピング対象の型
- */
- public interface SqlTemplateValueType<T> {
- /**
- * SQLのパラメータ変数として値を取得します。
- * <p>JDBCが対応していないタイプの場合は、対応している値に変換します。</p>
- *
- * @param value 変換する値
- * @return SQLのパラメータ変数。
- * @throws SqlTypeConversionException SQLで扱う型(JDBCの型)の変換にした場合にスローされます。
- */
- Object getBindVariableValue(@Nullable T value);
- /**
- * SQLに直接埋め込む値として文字列に変換します。
- *
- * @param value 変換する値。非nullが渡されます。
- * @return 文字列に変換した値
- * @throws TextConversionException 値を文字列への変換に失敗したときにストローされます。
- */
- default String getEmbeddedValue(final @Nullable T value) {
- if(value == null) {
- return null;
- }
- return value.toString();
- }
- }