ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
JavaのDB接続の記事です。JDBC(Java Database Connectivity)という標準APIを通じて、MySQL/PostgreSQL/Oracle/SQL Server等の各種RDBに接続できます。
JDBC接続の基本
JavaではJDBC APIがDB接続の標準。各DBベンダーが提供するJDBCドライバ(jarファイル)をクラスパスに追加し、共通のAPIで操作します。
必要なもの
| DB | JDBCドライバ |
|---|---|
| MySQL / MariaDB | mysql-connector-j、mariadb-java-client |
| PostgreSQL | postgresql |
| Oracle | ojdbc |
| SQL Server | mssql-jdbc |
| DB2 | db2jcc4 |
| SQLite | sqlite-jdbc |
JDBC URLの形式
| DB | JDBC URL例 |
|---|---|
| MySQL | jdbc:mysql://localhost:3306/mydb?useSSL=false |
| PostgreSQL | jdbc:postgresql://localhost:5432/mydb |
| Oracle | jdbc:oracle:thin:@localhost:1521:ORCL |
| SQL Server | jdbc:sqlserver://localhost:1433;databaseName=mydb |
| SQLite | jdbc:sqlite:/path/to/db.sqlite |
最小のJDBC接続コード
|
import java.sql.*; |
主要なJDBCクラス
| クラス/インターフェース | 役割 |
|---|---|
DriverManager | 接続管理 |
Connection | 1つのDB接続 |
Statement | 静的SQL(非推奨。SQLi対策弱い) |
PreparedStatement | パラメータ化SQL(推奨) |
CallableStatement | ストアドプロシージャ呼び出し |
ResultSet | SELECT結果セット |
DataSource | 接続プール経由の取得(本番推奨) |
INSERT/UPDATE/DELETEの例
|
try (PreparedStatement ps = conn.prepareStatement( |
トランザクション
|
conn.setAutoCommit(false); |
本番運用の標準
- 接続プール: HikariCP、Apache DBCP、c3p0 等で接続を再利用
- DataSource:
DriverManagerではなくJNDI/Springから注入 - ORM: 直接JDBCを書くよりJPA / MyBatis / jOOQ等を使うことが多い
セキュリティの基本
- 必ず PreparedStatementを使う。SQLインジェクション対策
- パスワードをコードにハードコードしない(
.env/ Secrets Manager等) - DBユーザーは必要最小権限
- 本番ではSSL接続を強制(
useSSL=true&requireSSL=true等)
注意点
- リソースは必ずclose: try-with-resources を使うのが安全
- Statement vs PreparedStatement: 後者を常に使う(性能・セキュリティ両面で)
- 古い
Class.forName("com.mysql.jdbc.Driver")はJDBC 4.0以降不要
関連
- 親カテゴリ: 文法 (Java)
- SQL本体: SQL / SQL
- Java EE: Java EE
- Spring: Spring Framework
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?