woolpack.sql.convert
クラス SqlCommentUtils
java.lang.Object
woolpack.sql.convert.SqlCommentUtils
public final class SqlCommentUtils
- extends Object
バインド変数コメント付きのSQLを解析するためのユーティリティです。
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
toPreparedStatementInfo
public static PreparedStatementInfo toPreparedStatementInfo(String s)
- バインド変数コメント付きのSQLを解析してコンパイル済ステートメント情報を生成します。
例えば、
「select * from table where /* conditions */ col0 = 11/*col0*/ and col1 = /*col1*/'hona'」は
「select * from table where col0 = ? and col1 = ?」に変換され、
バインド変数は「"col0", "col1"」に変換されます。
このロジックは、正規表現「[^\s,\(\)\|<>=]*/\*([^\*\s]+)\s*\*/[^\s,\(\)\|<>=]*」
で検索して$1を属性名として取得し、マッチ箇所全体を「?」に置き換えます。
そのあと正規表現「/\*\s[^\*]*\*/」のマッチ箇所を通常コメントとして削除します。
- パラメータ:
s
- 解析対象のSQL。
- 戻り値:
- バインド変数コメント付きのSQLを解析した結果。
Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.