いろいろな備忘録書いてくブログ

SEが適当に備忘録を書いていくブログです

Java SQL文をStringBuilderに変換する処理

パラメーターとして渡された文字列をStringBuilderで囲む

SQLをStringBuilderで囲む処理をJavaで書いてみました。
ドヤ顔で書き終わったあとに下記URLのサイトを見つけてしまった。
SQLよりPG用ソース文字列生成 - Web開発ツールズ
車輪の再発明

Javaソースコード

// 入力された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>

SpringBootを使用したプロジェクト全体のソースコードGitHubにあげてみました。

GitHub - tevez19911212/AddStringBuilder