AI SQL Generator は、自然言語での質問から SQL を自動生成するツールです。SQL の構文が分からない、複雑なクエリを書くのに時間がかかる、という課題を解決します。例: 「先月1万円以上購入したユーザーを教えて」という自然文から、実行可能な SQL を生成します。
- Java 17
- Spring Boot 4.0.3
- Thymeleaf(サーバーサイドレンダリング)
- OpenAI Java クライアント(openai-java 4.0.0)
- H2 Database(組み込み DB、開発用)
- プロンプトエンジニアリング: 質問文を適切に正規化・コンテキスト化して、正確で安全な SQL を生成するテンプレートを設計しました。
- セーフガード: 生成 SQL の簡易な検証(例えば明示的な DROP/DELETE の実行禁止や LIMIT の追加)を行い、安全に利用できるよう配慮しています。
- Spring Boot での API 連携: 外部 API 呼び出し(OpenAI)に対する例外処理、リトライやタイムアウト設定を実装しています。
OPENAI_API_KEY— OpenAI の API キー
設定例(Windows cmd):
set OPENAI_API_KEY=sk-XXXXXXXXXXXXcd /d C:\pleiades\2025-12\workspace\sql-generator-web
mvnw.cmd -DskipTests package
mvnw.cmd spring-boot:runまたは生成された JAR を実行:
java -jar target\sql-generator-web-0.0.1-SNAPSHOT.jar- ブラウザで http://localhost:8080 を開き、自然言語で質問を入力して「SQLを生成」を押します。
- 生成された SQL は画面下部に表示されます。
src/main/resources/templates/index.htmlにあるシンプルな UI を使用しています(検索ボックスと生成結果表示)。- 実際の動作画面のスクリーンショットは別途
docs/screenshots/に配置します。画像はそちらを参照してください。
- 生成された SQL をそのまま本番DBで実行する前に、必ず内容を確認してください。特に更新系クエリは操作対象を限定することを推奨します。
- API キー等の機密情報はリポジトリに含めないでください。