org.seasar.doma.jdbc.dialect
クラス StandardDialect

java.lang.Object
  上位を拡張 org.seasar.doma.jdbc.dialect.StandardDialect
すべての実装されたインタフェース:
Dialect
直系の既知のサブクラス:
Db2Dialect, H212126Dialect, HsqldbDialect, Mssql2008Dialect, MysqlDialect, OracleDialect, PostgresDialect, SqliteDialect

public class StandardDialect
extends Object
implements Dialect

標準の方言です。

作成者:
taedium

入れ子のクラスの概要
static class StandardDialect.StandardExpressionFunctions
          標準の ExpressionFunctions の実装です。
static class StandardDialect.StandardJdbcMappingVisitor
          標準の JdbcMappingVisitor の実装です。
static class StandardDialect.StandardScriptBlockContext
          標準の ScriptBlockContext の実装です。
static class StandardDialect.StandardSqlLogFormattingVisitor
          標準の SqlLogFormattingVisitor の実装です。
 
フィールドの概要
protected static char CLOSE_QUOTE
          終了の引用符
protected  ExpressionFunctions expressionFunctions
          SQLのコメント式で利用可能な関数群
protected  JdbcMappingVisitor jdbcMappingVisitor
          Wrapper をJDBCの型とマッピングするビジター
protected static char OPEN_QUOTE
          開始の引用符
protected  SqlLogFormattingVisitor sqlLogFormattingVisitor
          SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジター
protected static Set<String> UNIQUE_CONSTRAINT_VIOLATION_STATE_CODES
          一意制約違反を表す SQLState のセット
 
コンストラクタの概要
StandardDialect()
          インスタンスを構築します。
StandardDialect(ExpressionFunctions expressionFunctions)
          ExpressionFunctions を指定してインスタンスを構築します。
StandardDialect(JdbcMappingVisitor jdbcMappingVisitor)
          StandardDialect.StandardJdbcMappingVisitor を指定してインスタンスを構築します。
StandardDialect(JdbcMappingVisitor jdbcMappingVisitor, SqlLogFormattingVisitor sqlLogFormattingVisitor)
          StandardDialect.StandardJdbcMappingVisitorSqlLogFormattingVisitor を指定してインスタンスを構築します。
StandardDialect(JdbcMappingVisitor jdbcMappingVisitor, SqlLogFormattingVisitor sqlLogFormattingVisitor, ExpressionFunctions expressionFunctions)
          StandardDialect.StandardJdbcMappingVisitorSqlLogFormattingVisitorExpressionFunctions を指定してインスタンスを構築します。
StandardDialect(SqlLogFormattingVisitor sqlLogFormattingVisitor)
          SqlLogFormattingVisitor を指定してインスタンスを構築します。
 
メソッドの概要
 String applyQuote(String name)
          引用符で囲みます。
 ScriptBlockContext createScriptBlockContext()
          スクリプト内のSQLブロックのコンテキストを生成します。
protected  SQLException getCauseSQLException(SQLException sqlException)
          チェーンされたもっとも上位の SQLException を返します。
protected  int getErrorCode(SQLException sqlException)
          ベンダー固有のエラーコードを返します。
 ExpressionFunctions getExpressionFunctions()
          SQLのコメント式で使用可能な関数群を返します。
 org.seasar.doma.internal.jdbc.sql.PreparedSql getIdentitySelectSql(String qualifiedTableName, String columnName)
          データベースで生成されたIDENTITYを取得するためのSQLを返します。
 JdbcMappingVisitor getJdbcMappingVisitor()
          Wrapper をJDBCの型とマッピングするビジターを返します。
 String getName()
          名前を返します。
 JdbcType<ResultSet> getResultSetType()
          ResultSetJdbcType を返します。
 Throwable getRootCause(SQLException sqlException)
          SQL例外の根本原因を返します。
 String getScriptBlockDelimiter()
          スクリプト内のSQLブロックの区切り文字を返します。
 org.seasar.doma.internal.jdbc.sql.PreparedSql getSequenceNextValSql(String qualifiedSequenceName, long allocationSize)
          シーケンスの次の値を取得するためのSQLを返します。
 SqlLogFormattingVisitor getSqlLogFormattingVisitor()
          SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジターを返します。
protected  String getSQLState(SQLException sqlException)
          SQLState を返します。
 boolean includesIdentityColumn()
          INSERT文にIDENTITYカラムを含むかどうかを返します。
 boolean isUniqueConstraintViolated(SQLException sqlException)
          一意制約違反かどうかを返します。
 String removeQuote(String name)
          引用符を取り除きます。
 boolean supportsAutoGeneratedKeys()
          Statement.getGeneratedKeys() をサポートしているかどうかを返します。
 boolean supportsBatchUpdateResults()
          Statement.executeBatch() が更新件数を返すことをサポートしているかどうかを返します。
 boolean supportsIdentity()
          IDENTITYをサポートしているかどうかを返します。
 boolean supportsResultSetReturningAsOutParameter()
          ストアドプロシージャ-やストアドファンクションで ResultSet をOUTパラメータとして戻すことをサポートしてるかどうかを返します。
 boolean supportsSelectForUpdate(SelectForUpdateType type, boolean withTargets)
          悲観的排他制御をサポートしているかどうかを返します。
 boolean supportsSequence()
          シーケンスをサポートするかどうかを返します。
protected  SqlNode toCountCalculatingSqlNode(SqlNode sqlNode)
          集計を計算するSQLノードに変換します。
protected  SqlNode toCountGettingSqlNode(SqlNode sqlNode)
          集計取得用のSQLノードに変換します。
protected  SqlNode toForUpdateSqlNode(SqlNode sqlNode, SelectForUpdateType forUpdateType, int waitSeconds, String... aliases)
          悲観的排他制御用のSQLノードに変換します。
protected  SqlNode toPagingSqlNode(SqlNode sqlNode, long offset, long limit)
          ページング用のSQLノードに変換します。
 SqlNode transformSelectSqlNode(SqlNode sqlNode, SelectOptions options)
          SQLノードを変換します。
 SqlNode transformSelectSqlNodeForGettingCount(SqlNode sqlNode)
          件数取得のためにSQLノードを変換します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

OPEN_QUOTE

protected static final char OPEN_QUOTE
開始の引用符

関連項目:
定数フィールド値

CLOSE_QUOTE

protected static final char CLOSE_QUOTE
終了の引用符

関連項目:
定数フィールド値

UNIQUE_CONSTRAINT_VIOLATION_STATE_CODES

protected static final Set<String> UNIQUE_CONSTRAINT_VIOLATION_STATE_CODES
一意制約違反を表す SQLState のセット


jdbcMappingVisitor

protected final JdbcMappingVisitor jdbcMappingVisitor
Wrapper をJDBCの型とマッピングするビジター


sqlLogFormattingVisitor

protected final SqlLogFormattingVisitor sqlLogFormattingVisitor
SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジター


expressionFunctions

protected final ExpressionFunctions expressionFunctions
SQLのコメント式で利用可能な関数群

コンストラクタの詳細

StandardDialect

public StandardDialect()
インスタンスを構築します。


StandardDialect

public StandardDialect(JdbcMappingVisitor jdbcMappingVisitor)
StandardDialect.StandardJdbcMappingVisitor を指定してインスタンスを構築します。

パラメータ:
jdbcMappingVisitor - Wrapper をJDBCの型とマッピングするビジター

StandardDialect

public StandardDialect(SqlLogFormattingVisitor sqlLogFormattingVisitor)
SqlLogFormattingVisitor を指定してインスタンスを構築します。

パラメータ:
sqlLogFormattingVisitor - SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジター

StandardDialect

public StandardDialect(ExpressionFunctions expressionFunctions)
ExpressionFunctions を指定してインスタンスを構築します。

パラメータ:
expressionFunctions - SQLのコメント式で利用可能な関数群

StandardDialect

public StandardDialect(JdbcMappingVisitor jdbcMappingVisitor,
                       SqlLogFormattingVisitor sqlLogFormattingVisitor)
StandardDialect.StandardJdbcMappingVisitorSqlLogFormattingVisitor を指定してインスタンスを構築します。

パラメータ:
jdbcMappingVisitor - Wrapper をJDBCの型とマッピングするビジター
sqlLogFormattingVisitor - SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジター

StandardDialect

public StandardDialect(JdbcMappingVisitor jdbcMappingVisitor,
                       SqlLogFormattingVisitor sqlLogFormattingVisitor,
                       ExpressionFunctions expressionFunctions)
StandardDialect.StandardJdbcMappingVisitorSqlLogFormattingVisitorExpressionFunctions を指定してインスタンスを構築します。

パラメータ:
jdbcMappingVisitor - Wrapper をJDBCの型とマッピングするビジター
sqlLogFormattingVisitor - SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジター
expressionFunctions - SQLのコメント式で利用可能な関数群
メソッドの詳細

getName

public String getName()
インタフェース Dialect の記述:
名前を返します。

定義:
インタフェース Dialect 内の getName
戻り値:
名前

transformSelectSqlNode

public SqlNode transformSelectSqlNode(SqlNode sqlNode,
                                      SelectOptions options)
インタフェース Dialect の記述:
SQLノードを変換します。

定義:
インタフェース Dialect 内の transformSelectSqlNode
パラメータ:
sqlNode - SQLノード
options - オプション
戻り値:
変換されたSQLノード

toCountCalculatingSqlNode

protected SqlNode toCountCalculatingSqlNode(SqlNode sqlNode)
集計を計算するSQLノードに変換します。

パラメータ:
sqlNode - SQLノード
戻り値:
変換されたSQLノード

toPagingSqlNode

protected SqlNode toPagingSqlNode(SqlNode sqlNode,
                                  long offset,
                                  long limit)
ページング用のSQLノードに変換します。

パラメータ:
sqlNode - SQLノード
offset - オフセット
limit - リミット
戻り値:
変換されたSQLノード

toForUpdateSqlNode

protected SqlNode toForUpdateSqlNode(SqlNode sqlNode,
                                     SelectForUpdateType forUpdateType,
                                     int waitSeconds,
                                     String... aliases)
悲観的排他制御用のSQLノードに変換します。

パラメータ:
sqlNode - SQLノード
forUpdateType - 悲観的排他制御の種別
waitSeconds - ロック取得の待機時間(秒)
aliases - ロック対象のカラムやテーブルのエイリアス
戻り値:
変換されたSQLノード

transformSelectSqlNodeForGettingCount

public SqlNode transformSelectSqlNodeForGettingCount(SqlNode sqlNode)
インタフェース Dialect の記述:
件数取得のためにSQLノードを変換します。

定義:
インタフェース Dialect 内の transformSelectSqlNodeForGettingCount
パラメータ:
sqlNode - SQLノード
戻り値:
変換されたSQLノード

toCountGettingSqlNode

protected SqlNode toCountGettingSqlNode(SqlNode sqlNode)
集計取得用のSQLノードに変換します。

パラメータ:
sqlNode - SQLノード
戻り値:
変換されたSQLノード

isUniqueConstraintViolated

public boolean isUniqueConstraintViolated(SQLException sqlException)
インタフェース Dialect の記述:
一意制約違反かどうかを返します。

定義:
インタフェース Dialect 内の isUniqueConstraintViolated
パラメータ:
sqlException - SQL例外
戻り値:
一意制約違反ならば true

getSQLState

protected String getSQLState(SQLException sqlException)
SQLState を返します。

パラメータ:
sqlException - SQL例外
戻り値:
ステータスコード

getErrorCode

protected int getErrorCode(SQLException sqlException)
ベンダー固有のエラーコードを返します。

パラメータ:
sqlException - SQL例外
戻り値:
エラーコード

getCauseSQLException

protected SQLException getCauseSQLException(SQLException sqlException)
チェーンされたもっとも上位の SQLException を返します。

パラメータ:
sqlException - SQL例外
戻り値:
原因となったより上位のSQL例外

getRootCause

public Throwable getRootCause(SQLException sqlException)
インタフェース Dialect の記述:
SQL例外の根本原因を返します。

定義:
インタフェース Dialect 内の getRootCause
パラメータ:
sqlException - SQL例外
戻り値:
根本原因

supportsAutoGeneratedKeys

public boolean supportsAutoGeneratedKeys()
インタフェース Dialect の記述:
Statement.getGeneratedKeys() をサポートしているかどうかを返します。

定義:
インタフェース Dialect 内の supportsAutoGeneratedKeys
戻り値:
サポートしている場合 true

supportsBatchUpdateResults

public boolean supportsBatchUpdateResults()
インタフェース Dialect の記述:
Statement.executeBatch() が更新件数を返すことをサポートしているかどうかを返します。

定義:
インタフェース Dialect 内の supportsBatchUpdateResults
戻り値:
サポートしている場合 true

supportsIdentity

public boolean supportsIdentity()
インタフェース Dialect の記述:
IDENTITYをサポートしているかどうかを返します。

定義:
インタフェース Dialect 内の supportsIdentity
戻り値:
サポートしている場合 true

supportsSequence

public boolean supportsSequence()
インタフェース Dialect の記述:
シーケンスをサポートするかどうかを返します。

定義:
インタフェース Dialect 内の supportsSequence
戻り値:
サポートしている場合 true

includesIdentityColumn

public boolean includesIdentityColumn()
インタフェース Dialect の記述:
INSERT文にIDENTITYカラムを含むかどうかを返します。

定義:
インタフェース Dialect 内の includesIdentityColumn
戻り値:
含む場合 true

supportsSelectForUpdate

public boolean supportsSelectForUpdate(SelectForUpdateType type,
                                       boolean withTargets)
インタフェース Dialect の記述:
悲観的排他制御をサポートしているかどうかを返します。

定義:
インタフェース Dialect 内の supportsSelectForUpdate
パラメータ:
type - 悲観的排他制御の種別
withTargets - ロックの対象が指定されている場合 true
戻り値:
サポートしている場合 true

supportsResultSetReturningAsOutParameter

public boolean supportsResultSetReturningAsOutParameter()
インタフェース Dialect の記述:
ストアドプロシージャ-やストアドファンクションで ResultSet をOUTパラメータとして戻すことをサポートしてるかどうかを返します。

定義:
インタフェース Dialect 内の supportsResultSetReturningAsOutParameter
戻り値:
サポートしている場合 true

getResultSetType

public JdbcType<ResultSet> getResultSetType()
インタフェース Dialect の記述:
ResultSetJdbcType を返します。

Dialect.supportsResultSetReturningAsOutParameter()true を返す場合にのみ呼び出し可能です。

定義:
インタフェース Dialect 内の getResultSetType
戻り値:
ResultSetJdbcType

getIdentitySelectSql

public org.seasar.doma.internal.jdbc.sql.PreparedSql getIdentitySelectSql(String qualifiedTableName,
                                                                          String columnName)
インタフェース Dialect の記述:
データベースで生成されたIDENTITYを取得するためのSQLを返します。

Dialect.supportsIdentity()true を返す場合にのみ呼び出し可能です。

定義:
インタフェース Dialect 内の getIdentitySelectSql
パラメータ:
qualifiedTableName - テーブルの完全修飾名
columnName - IDENTITYカラムの名前
戻り値:
IDENTITYを取得するためのSQL

getSequenceNextValSql

public org.seasar.doma.internal.jdbc.sql.PreparedSql getSequenceNextValSql(String qualifiedSequenceName,
                                                                           long allocationSize)
インタフェース Dialect の記述:
シーケンスの次の値を取得するためのSQLを返します。

Dialect.supportsSequence()true を返す場合にのみ呼び出し可能です。

定義:
インタフェース Dialect 内の getSequenceNextValSql
パラメータ:
qualifiedSequenceName - シーケンスの完全修飾名
allocationSize - 割り当てサイズ
戻り値:
シーケンスの次の値を取得するためのSQL

applyQuote

public String applyQuote(String name)
インタフェース Dialect の記述:
引用符で囲みます。

定義:
インタフェース Dialect 内の applyQuote
パラメータ:
name - テーブルやカラムの名前
戻り値:
name を引用符で囲んだ値

removeQuote

public String removeQuote(String name)
インタフェース Dialect の記述:
引用符を取り除きます。

定義:
インタフェース Dialect 内の removeQuote
パラメータ:
name - テーブルやカラムの名前
戻り値:
name から引用符を除去した値

getJdbcMappingVisitor

public JdbcMappingVisitor getJdbcMappingVisitor()
インタフェース Dialect の記述:
Wrapper をJDBCの型とマッピングするビジターを返します。

定義:
インタフェース Dialect 内の getJdbcMappingVisitor
戻り値:
Wrapper をJDBCの型とマッピングするビジター

getSqlLogFormattingVisitor

public SqlLogFormattingVisitor getSqlLogFormattingVisitor()
インタフェース Dialect の記述:
SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジターを返します。

定義:
インタフェース Dialect 内の getSqlLogFormattingVisitor
戻り値:
SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジター

getExpressionFunctions

public ExpressionFunctions getExpressionFunctions()
インタフェース Dialect の記述:
SQLのコメント式で使用可能な関数群を返します。

定義:
インタフェース Dialect 内の getExpressionFunctions
戻り値:
SQLのコメント式で使用可能な関数群

createScriptBlockContext

public ScriptBlockContext createScriptBlockContext()
インタフェース Dialect の記述:
スクリプト内のSQLブロックのコンテキストを生成します。

定義:
インタフェース Dialect 内の createScriptBlockContext
戻り値:
スクリプトのSQLブロックのコンテキスト

getScriptBlockDelimiter

public String getScriptBlockDelimiter()
インタフェース Dialect の記述:
スクリプト内のSQLブロックの区切り文字を返します。

定義:
インタフェース Dialect 内の getScriptBlockDelimiter
戻り値:
スクリプトのブロックの区切り文字


Copyright © 2009-2014 The Seasar Foundation. All Rights Reserved.