Java SQL文をStringBuilderに変換する処理
パラメーターとして渡された文字列をStringBuilderで囲む
SQLをStringBuilderで囲む処理をJavaで書いてみました。
ドヤ顔で書き終わったあとに下記URLのサイトを見つけてしまった。
SQLよりPG用ソース文字列生成 - Web開発ツールズ
車輪の再発明…
// 入力されたSQLを改行コードで分割してリストに格納したあとに、StringBuilderの文字列を付加する List<String> sqlList = Arrays.asList(sql.split("\r\n")); StringBuilder sbSql = new StringBuilder("StringBuilder sql = new StringBuilder();\r\n"); sqlList.stream().forEach(str -> sbSql.append("sql.append(\"" + str + "\");\r\n"));
thymeleafを使用したHTML側のソースコード
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Hello Page</title> </head> <body> <p th:text="${msg}">please wait...</p> <form method="post" action="/"> <textarea name="sql" th:value="${sql}" cols="40" rows="10" ></textarea> <input type="submit" value="Click" /> </form> <p> <th:block th:if="${result}"> <!-- 改行コードでsplitしてループ --> <th:block th:each="line: ${result.split('\r\n|\r|\n', -1)}"> <th:block th:text="${line}" /><br /> </th:block> </th:block> </p> </body> </html>