OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBase Cloud

  • 製品アップデート
    • What's new
      • 2026年リリース履歴
      • 2025年リリース履歴
      • 2024年リリース履歴
      • バージョン履歴
    • Product announcements
      • OceanBase Alibaba Cloudプロキシクラスタの基盤コンポーネントのアップグレードに関するお知らせ
      • AIサービスモデルの追加・削除に関するお知らせ
      • データ開発機能のサービス終了に関するお知らせ
      • バックアップ・リストアの商用化戦略の最適化
      • データベースプロキシの課金変更について
      • AWSインスタンスの料金調整について
      • OMS 無料提供対象インスタンスの正式課金開始に関するお知らせ
      • OceanBaseのAWSチャネルにおけるトラフィック料金調整に関するお知らせ
  • プロダクトの紹介
    • OceanBase Cloudの概要
    • 管理モードと適用シナリオ
    • コア機能
      • クロスクラウドアクティブ-アクティブによる高可用性の実現
      • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性の実現
      • 多層的オンラインスケーリングとオンデマンド構成変更
    • デプロイプラン
    • 製品仕様
    • プロダクト課金
      • 請求の概要
      • インスタンス課金説明
        • Alibaba Cloudインスタンスの課金
        • Huawei Cloudインスタンスの課金
        • AWSインスタンスの課金
        • Google Cloud(GCP)インスタンスの課金
        • Azureインスタンスの課金
      • バックアップとリストアの課金
      • SQL監査の料金説明
      • データ移行の料金に関する説明
      • データベースプロキシの課金について
      • Binlogサービスの料金説明
      • 読み取り専用レプリカの料金説明
      • AIモデルの課金に関する説明
    • サポートするデータベースバージョン
  • クイックスタート
    • フラッグシップ版クイックスタート
    • フラッグシップ版クラスタインスタンスの作成
    • テナントの作成
    • データベースの使用
  • DBaaS インスタンスの使用
    • フラッグシップ版インスタンスの使用
      • フラッグシップ版インスタンスの概要
      • インスタンスの作成
        • 概要
        • OceanBase Cloud公式サイト経由での作成
        • AWS Marketplace経由での作成
        • GCP Marketplace経由での作成
        • Huawei Cloud Marketでインスタンスを作成する
        • Alibaba Cloud Marketplace経由での作成
        • Azure Marketplaceでインスタンスを作成する
      • インスタンスへの接続
        • ネットワーク接続の設定
          • 概要
          • パブリックIPアドレスを使用したデータベースへの接続
          • Azure Private Linkを使用したデータベースへの接続
          • Google Cloud Private Service Connectを使用したデータベースへの接続
          • Huawei Cloud VPCエンドポイントを使用してデータベースに接続する
          • Huawei Cloudピアリング接続を使用してデータベースに接続する
          • AWS PrivateLink を使用したデータベースへの接続
          • AWSピアリング接続を使用してデータベースに接続する
          • Alibaba Cloudのプライベートネットワーク接続を使用したデータベース接続
        • MySQL モード接続
          • クライアントを介した接続
            • デスクトップ版 ODC を使用した OceanBase Cloud クラウドデータベースへの接続
            • MySQLクライアントを使用したOceanBase Cloudへの接続
            • OBClient を使用した OceanBase Cloud クラウドデータベースへの接続
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • SpringBootを使用してOceanBase Cloudデータベースに接続するサンプルプログラム
              • SpringBatchでOB Cloudデータベースに接続するサンプルプログラム
              • Spring JDBCを使用したOceanBase Cloud接続のサンプルプログラム
              • SpringDataJPA による OB Cloud への接続サンプルプログラム
              • Hibernate を使用して OceanBase Cloud クラウドデータベースに接続するサンプルプログラム
              • MyBatis を使用して OceanBase Cloud データベースに接続するサンプルプログラム
              • MySQL Connector/J を使用して OceanBase Cloud データベースに接続するサンプルプログラム
              • TestContainers Java を使用して OceanBase Cloud データベースに接続するサンプルプログラム
            • Python
              • mysqlclient を使用した OceanBase Cloud クラウドデータベース接続のサンプルプログラム
              • PyMySQL による OceanBase Cloud データベース接続のサンプルプログラム
              • MySQL-connector-pythonによるOceanBase Cloud接続のサンプルプログラム
              • SQLAlchemyを使用したOceanBase Cloudへの接続サンプルプログラム
              • Djangoを使用したOceanBase Cloud接続のサンプルプログラム
              • peeweeを使用したOceanBase Cloudへの接続サンプルプログラム
            • C
              • MySQL Connector/C を使用した OceanBase Cloud データベースへの接続サンプルプログラム
            • Go
              • Go-SQL-Driver/MySQL を使用して OceanBase Cloud クラウドデータベースに接続するサンプルプログラム
              • GORM を使用した OceanBase Cloud データベース接続のサンプルプログラム
            • PHP
              • EXTドライバを使用してOceanBase Cloudへ接続するサンプルプログラム
              • MySQLiドライバを使用したOceanBase Cloudへの接続
              • PDOドライバを使用したOceanBase Cloudへの接続
            • Rust
              • Rustを使用したOceanBase Cloud接続のサンプルプログラム
              • SeaORM を使用した OceanBase Cloud クラウドデータベース接続のサンプルプログラム
            • Ruby
              • ActiveRecordによるOceanBase Cloud接続のサンプルプログラム
              • mysql2 を使用した OceanBase Cloud クラウドデータベース接続のサンプルプログラム
              • Sequelを使用したOceanBase Cloudへの接続サンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールを使用してOceanBase データベースに接続するサンプルプログラム
            • C3P0 コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
            • Proxoolコネクションプールを使用してOceanBaseデータベースに接続するサンプルプログラム
            • HikariCP コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
            • DBCPコネクションプールを使用してOceanBaseデータベースに接続するサンプルプログラム
            • Commons Pool を使用して OceanBase データベースに接続するサンプルプログラム
            • Druid コネクションプールを使用して OceanBase データベースに接続するサンプルプログラム
        • Oracle モード接続
          • クライアントを介した接続
            • OBClientを使用してOceanBase Cloudデータベースに接続する
            • デスクトップ版ODCによるOceanBase Cloudデータベースへの接続
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • OceanBase Connector/J による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • SpringBootでOceanBase Cloudデータベースに接続するサンプルプログラム
              • SpringBatchでOceanBase Cloudに接続するサンプルプログラム
              • Spring JDBCによるOceanBase Cloudデータベース接続サンプルプログラム
              • SpringDataJPA による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • HibernateでOceanBase Cloudに接続するサンプルプログラム
              • MyBatisでOceanBase Cloudに接続するサンプルプログラム
              • JfinalによるOceanBase Cloudデータベース接続サンプルプログラム
            • Python
              • Pythonドライバーを使用してOceanBase CloudのOracleモードに接続する方法
            • C/C++
              • OceanBase Connector/C による OceanBase Cloud への接続サンプルプログラム
              • OceanBase Connector/ODBC による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • SqlSugar による OceanBase Cloud への接続サンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • C3P0接続プールでOceanBase Cloudに接続するサンプルプログラム
            • Proxool接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • HikariCP接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • DBCP接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • Commons Pool による OceanBase Cloud への接続サンプルプログラム
            • Druid接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
        • KV モード接続
          • OBKV-HBase クライアントを使用したクラスタへの接続
      • 開発リファレンス
        • MySQL モード
          • データオブジェクトの設計
            • データベースの作成
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • シングルテーブルクエリ
            • マルチテーブル結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリでの文字列連結演算子の使用
              • クエリでの文字列関数の使用
              • クエリでの時間関数の使用
              • クエリでの集約関数の使用
              • クエリでのNULL関連関数の使用
              • クエリでのCASE条件演算子の使用
              • クエリ結果のロック SELECT FOR UPDATE
              • クエリ結果のロック LOCK IN SHARE MODE
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバック
              • セーブポイントの解放
            • トランザクションのコミット
            • トランザクションのロールバック
        • Oracle モード
          • データオブジェクトの設計
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • 単一テーブルのクエリ
            • マルチテーブル結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリにおける数値関数の使用
              • クエリでの文字列連結演算子の使用
              • クエリにおける文字列関数の使用
              • クエリでの時刻関数の使用
              • クエリにおける集約関数の使用
              • クエリにおけるCASE関数の使用
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバック
            • トランザクションのコミット
            • トランザクションのロールバック
        • KV モード
          • OBKV-Table Java開発ガイド
          • テーブルデータ操作例
            • OBKV-Tableを使用したデータの挿入
            • OBKV-Tableを使用したデータのクエリ
            • OBKV-Tableを使用したデータの更新
            • OBKV-Tableを使用したデータの削除
          • OBKV Table Java 開発
            • OBKV-Table Javaクライアントを使用してクラスタに接続する
          • HBase データ操作例
            • OBKV-HBaseアプリケーション開発の概要
            • OBKV-HBaseデータ操作の例
      • インスタンス管理
        • インスタンス管理
          • インスタンスリストを表示
          • インスタンスワークベンチ概要
          • インスタンスの一時停止/起動
          • Unit 移行
        • インスタンステナント管理
          • テナントワークベンチ
          • テナントの作成
          • テナント仕様の変更
          • テナント名の変更
          • アクセスアドレスの追加
          • リソース分離管理
            • リソース分離の概要
            • リソースグループ管理
              • リソースグループの作成
              • リソースグループの表示
              • リソースグループの編集
              • リソースグループの削除
            • 分離ルールの管理
              • 分離ルールの作成
              • 分離ルールの表示
              • 分離ルールの編集
              • 分離ルールの削除
          • プライマリゾーンの変更
          • プロキシアドレスの最大接続数の変更
          • AI Function 組み込みモデルの有効化
          • テナントパフォーマンスモニタリング
            • テナント監視の概要
            • パフォーマンスと SQL 監視
            • トランザクション監視
            • ストレージとキャッシュの監視
            • Binlog サービスの監視
            • テナントのカスタム監視レポート
          • 診断
            • パフォーマンス監視データの表示
            • リアルタイム診断
              • SQL 診断
                • Top SQL
                • Slow SQL
                • 疑わしい SQL
                • 高リスク SQL
                • SQL の詳細
              • セッション管理
                • セッション管理
              • 最適化管理
                • 有効な Outline の管理
                • 最適化履歴の表示
              • SQL監査
          • パラメータ管理
            • テナントパラメータ管理
            • パラメータ一覧
            • パラメータテンプレートの説明
          • テナントの削除
          • データベースとアカウント管理
            • アカウントの作成
            • アカウントの管理
            • データベースの作成(MySQLのみ)
            • データベースの管理(MySQLのみ)
        • インスタンズパフォーマンスモニタリング
          • クラスタ監視の概要
          • クラスタデータベースのパフォーマンス監視
          • クラスタ多次元指標のパフォーマンス監視
          • クラスタホストのパフォーマンス監視
          • データベースプロキシ監視の詳細
          • データベースプロキシホスト監視の詳細
          • クロスクラウドネットワークのパフォーマンス監視
          • クラスタのカスタム監視レポート
        • データマージ
          • メジャーコンパクションの開始
          • メジャーコンパクション記録の表示
          • メジャーコンパクション時間の変更
        • インスタンスパラメータ管理
          • パラメータ管理
          • パラメータ一覧の説明
        • インスタンス設定の変更
          • コンピューティングの自動スケールアップを設定する
          • ストレージの自動拡張機能の有効化
          • クラスタインスタンスの構成変更履歴の表示
          • インスタンス設定の変更(従量課金)
          • デプロイプランの切り替え
        • スタンバイインスタンス管理
          • スタンバイインスタンスの概要
          • スタンバイインスタンスの作成
          • クロスクラウドスタンバイインスタンスの作成
          • プライマリ/スタンバイインスタンスワークベンチ
          • プライマリ/スタンバイ同期ポリシーの設定
          • プライマリ/スタンバイデータベースのグローバルアドレス設定
          • スタンバイデータベースの書き込みリクエスト自動ルーティングを設定する
          • プライマリ/スタンバイインスタンスの切り替え
          • ディザスタリカバリ切り替え
          • プライマリ/スタンバイインスタンスのデカップリング
          • スタンバイインスタンスの解放
        • インスタンスの解放
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシ管理
          • ダイレクトロード
        • アラート管理
          • アラート管理
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • トリガー条件テンプレートの作成
            • トリガー条件テンプレートの表示
            • トリガー条件テンプレートの編集
            • トリガー条件テンプレートのコピー
            • トリガー条件テンプレートの削除
          • アラーム抑制ルールの管理
            • アラートミュート規則の作成
            • アラートミュートルールの確認
            • アラートミュートルールの編集
            • アラートミュートルールの削除
          • アラート通知テンプレートの管理
            • アラート通知テンプレートの作成
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • アラート通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先の追加
            • アラート連絡先グループの追加
            • アラート連絡先の表示
            • アラート連絡先の編集
            • アラート連絡先の削除
            • Webhook アドレスの取得
          • カスタムアラートで利用可能なメトリック
        • バックアップとリカバリ
          • バックアップとリストアの概要
          • バックアップポリシー
          • 今すぐバックアップ
          • データバックアップ
          • リストアの開始
          • データリストア
          • インスタンスごみ箱内のバックアップデータのリストア
        • 診断
          • 性能監視データの表示
          • 容量診断
          • ワンクリック診断
            • ワンクリック診断の開始
            • ワンクリック診断レポートの表示
              • 異常イベント
              • リアルタイム診断
              • 最適化の推奨事項
              • 容量管理
              • セキュリティ管理
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • Slow SQL
              • 不審な SQL
              • 高リスク SQL
              • SQL 詳細
              • SQL 監視メトリクスリスト
            • セッション管理
              • セッション管理
            • リクエスト分析
              • リクエスト分析
          • ルート cause 診断
            • 異常イベントの表示
            • システム自律機能の有効化
          • SQL監査
          • マテリアライズドビュー分析
          • 最適化センター
            • 最適化の推奨事項
            • 有効な Outline の管理
            • SQL Review
            • 最適化履歴の表示
        • タグ管理
        • 読み取り専用レプリカ管理
          • 読み取り専用レプリカの概要
          • インスタンス読み取り専用レプリカ
            • インスタンスの読み取り専用レプリカを追加する
            • インスタンスの読み取り専用レプリカ関連情報の表示
            • 読み取り専用レプリカの構成変更管理
            • インスタンスの読み取り専用レプリカを削除
          • テナント読み取り専用レプリカ
            • テナントの読み取り専用レプリカを追加する
            • テナントの読み取り専用レプリカ関連情報の表示
            • テナントの読み取り専用レプリカの変更
            • テナントの読み取り専用レプリカの削除
        • JVM 環境依存サービス管理
      • データソース管理
        • データソース管理の概要
        • データソースの管理
        • ユーザー権限の説明
          • 互換性評価ユーザー権限
          • データ移行ユーザー権限
          • 性能評価ユーザー権限
          • データアーカイブのユーザー権限
          • データクリーンアップのユーザー権限
        • プライベート接続の選択
          • AWSエンドポイントの設定
          • Huawei Cloudエンドポイントの設定
          • Alibaba Cloud エンドポイントの設定
          • Azureエンドポイントの設定
          • プライベートIPアドレス範囲の説明
        • パブリック接続の選択
          • AWS インスタンスのホワイトリストへの追加
          • Huawei Cloudインスタンスのホワイトリストに追加する
          • Alibaba Cloudインスタンスの許可リストへの追加
          • Azureインスタンスのホワイトリストに追加する
      • データライフサイクル管理
        • データアーカイブ
        • データクリーンアップ
      • ゴミ箱管理
        • インスタンスごみ箱
        • データベーステーブルゴミ箱管理
          • 概要
          • インスタンスデータベース・テーブルのごみ箱
          • テナントのデータベース/テーブルごみ箱
    • トランザクション型インスタンスの使用
      • トランザクション型インスタンスの概要
      • インスタンスの作成
        • インスタンスの作成
        • OceanBase公式Webサイトからインスタンスを作成する
        • AWS Marketplaceでインスタンスを作成する
        • GCP Marketplaceでインスタンスを作成する
        • Huawei Cloud Marketを通じてインスタンスを作成する
        • アリババクラウドマーケットプレイスでインスタンスを作成する
        • Azure Marketplaceでインスタンスを作成する
      • インスタンスへの接続
        • MySQL モード
          • 接続方法の概要
          • 接続文字列の取得
            • 概要
            • AWS PrivateLinkを使用したデータベースへの接続
            • Azureプライベートネットワーク接続を使用してデータベースにアクセスする
            • Google Cloud Private Service Connectを使用した接続
            • AWSピアリング接続を使用してデータベースに接続する
            • Huawei Cloud VPC Endpointを使用した接続
            • Alibaba CloudのVPC接続を使用したデータベース接続
            • 公開IPアドレスを使用してデータベースに接続する
            • Huawei Cloudのピア接続を使用してデータベースに接続する
          • クライアントを介した接続
            • デスクトップ版ODCによるOceanBase Cloudデータベースへの接続
            • MySQLクライアントを使用してOceanBase Cloudデータベースに接続する
            • OBClientを使用してOceanBase Cloudデータベースに接続する
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • SpringBootでOceanBase Cloudに接続するサンプルプログラム
              • SpringBatchでOceanBase Cloudに接続するサンプルプログラム
              • Spring JDBCによるOceanBase Cloudデータベース接続サンプルプログラム
              • SpringDataJPA による OceanBase Cloud への接続サンプルプログラム
              • HibernateによるOceanBase Cloudデータベース接続サンプルプログラム
              • MyBatisでOceanBase Cloudデータベースに接続するサンプルプログラム
              • MySQL Connector/J による OceanBase Cloud データベース接続サンプルプログラム
              • TestContainers JavaによるOceanBase Cloudデータベース接続サンプルプログラム
            • Python
              • mysqlclient による OceanBase Cloud への接続サンプルプログラム
              • PyMySQLでOceanBase Cloudに接続するサンプルプログラム
              • MySQL-connector-pythonでOceanBase Cloudに接続するサンプルプログラム
              • SQLAlchemyでOceanBase Cloudに接続するサンプルプログラム
              • DjangoでOceanBase Cloudに接続するサンプルプログラム
              • peeweeを使用したOceanBase Cloud接続サンプルプログラム
            • C
              • MySQL Connector/C による OceanBase Cloud クラウドデータベース接続サンプルプログラム
            • Go
              • Go-SQL-Driver/MySQL で OceanBase Cloud に接続するサンプルプログラム
              • GORMでOceanBase Cloudに接続するサンプルプログラム
            • PHP
              • EXTドライバーを使用したOceanBase Cloud接続サンプルプログラム
              • MySQLiドライバーを使用してOceanBase Cloudに接続する
              • PDOドライバーを使用したOceanBase Cloudへの接続
            • Rust
              • RustでOceanBase Cloudに接続するサンプルプログラム
              • SeaORM による OceanBase Cloud クラウドデータベース接続サンプルプログラム
            • Ruby
              • ActiveRecordを使用したOceanBase Cloud接続サンプルプログラム
              • mysql2を使用したOceanBase Cloud接続サンプルプログラム
              • Sequelを使用したOceanBase Cloud接続サンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • C3P0接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • Proxool接続プールを使用したOceanBaseデータベース接続サンプルプログラム
            • HikariCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • DBCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
            • Commons Pool による OceanBase データベース接続サンプルプログラム
            • Druid接続プールでOceanBaseデータベースに接続するサンプルプログラム
        • Oracle モード
          • 接続方法の概要
          • 接続文字列の取得
            • 概要
            • AWS PrivateLinkを使用してデータベースに接続する
            • Azureプライベートネットワーク接続を使用してデータベースにアクセスする
            • Google Cloud Private Service Connectを使用した接続
            • AWSピアリング接続を使用してデータベースに接続する
            • Huawei Cloud VPCエンドポイントを使用した接続
            • 公開IPアドレスを使用してデータベースに接続する
          • クライアントを介した接続
            • OBClientを使用してOceanBase Cloudに接続する
            • デスクトップ版ODCを使用してOceanBase Cloudデータベースに接続する
          • ドライバー/ORM フレームワークを介した接続
            • Java
              • OceanBase Connector/J による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • SpringBootでOceanBase Cloudに接続するサンプルプログラム
              • SpringBatchでOceanBase Cloudに接続するサンプルプログラム
              • Spring JDBCによるOceanBase Cloudデータベース接続サンプルプログラム
              • SpringDataJPAでOceanBase Cloudに接続するサンプルプログラム
              • HibernateによるOceanBase Cloudデータベース接続サンプルプログラム
              • MyBatisでOceanBase Cloudデータベースに接続するサンプルプログラム
              • JfinalによるOceanBase Cloudデータベース接続サンプルプログラム
            • Python
              • PythonドライバーによるOceanBase CloudOracleモードへの接続ガイド
            • C/C++
              • OceanBase Connector/C による OceanBase Cloud への接続サンプルプログラム
              • OceanBase Connector/ODBC による OceanBase Cloud クラウドデータベース接続サンプルプログラム
              • SqlSugarでOceanBase Cloudに接続するサンプルプログラム
          • データベース接続プールの使用
            • データベース接続プールの設定
            • Tomcat接続プールでOceanBase Cloudに接続するサンプルプログラム
            • C3P0接続プールでOceanBase Cloudに接続するサンプルプログラム
            • Proxool接続プールを使用したOceanBase Cloudデータベース接続サンプルプログラム
            • HikariCP接続プールでOceanBase Cloudに接続するサンプルプログラム
            • DBCP接続プールを使用してOceanBase Cloudに接続するサンプルプログラム
            • Commons Pool による OceanBase Cloud データベース接続サンプルプログラム
            • Druid接続プールでOceanBase Cloudに接続するサンプルプログラム
      • 開発リファレンス
        • MySQL モード
          • データオブジェクトの設計
            • データベースの作成
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • シングルテーブルクエリ
            • 複数テーブルの結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリでの文字列連結演算子の使用
              • クエリでの文字列関数の使用
              • クエリでの時間関数の使用
              • クエリでの型変換関数の使用
              • クエリでの集約関数の使用
              • クエリでのNULL関連関数の使用
              • クエリでのCASE条件演算子の使用
              • クエリ結果のロック SELECT FOR UPDATE
              • クエリ結果のロック LOCK IN SHARE MODE
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバック
              • セーブポイントの解放
            • トランザクションのコミット
            • トランザクションのロールバック
        • Oracle モード
          • データオブジェクトの設計
            • テーブルグループの作成
            • テーブルの作成
            • インデックスの作成
            • 外部テーブルの作成
          • データの書き込み
            • データの挿入
            • データの更新
            • データの削除
            • データの置換
            • テストデータの一括生成
          • データの読み取り
            • 単一テーブルのクエリ
            • 複数テーブルの結合
              • INNER JOIN
              • FULL JOIN
              • LEFT JOIN
              • RIGHT JOIN
              • サブクエリ
              • ラテラル派生テーブル
            • クエリでの演算子と関数の使用
              • クエリでの算術演算子の使用
              • クエリでの数値関数の使用
              • クエリにおける文字列連結演算子の使用
              • クエリでの文字列関数の使用
              • クエリにおける時刻関数の使用
              • クエリでの型変換関数の使用
              • クエリにおける集約関数の使用
              • クエリでのNULL関連関数の使用
              • クエリでのCASE関数の使用
              • SELECT ... FOR UPDATEステートメントを使用してクエリ結果をロックする
            • DBLinkを使用したクエリの実行
            • 集合演算
          • トランザクション
            • トランザクション管理の概要
            • トランザクションの開始
            • セーブポイント
              • セーブポイントの設定
              • トランザクションを特定のセーブポイントまでロールバック
            • トランザクションのコミット
            • トランザクションのロールバック
      • インスタンス管理
        • インスタンス管理
          • インスタンスリストの表示
          • インスタンスダッシュボードの概要
          • インスタンスの一時停止・再開
          • Unit移行
        • インスタンステナント管理
          • テナントダッシュボード
          • テナントの作成
          • テナント仕様の変更
          • テナント名の変更
          • アクセスアドレスの追加
          • リソース分離管理
            • リソース分離の概要
            • リソースグループ管理
              • リソースグループの作成
              • リソースグループの表示
              • リソースグループの編集
              • リソースグループの削除
            • 分離ルールの管理
              • 分離ルールの作成
              • 分離ルールの表示
              • 分離ルールの編集
              • 分離ルールの削除
          • プライマリゾーンの変更
          • プロキシアドレスの最大接続数の変更
          • AI Functionの組み込みモデルを有効にする
          • テナントパフォーマンスモニタリング
            • テナント監視の概要
            • パフォーマンスとSQL監視
            • トランザクション監視
            • ストレージとキャッシュの監視
            • Binlogサービス監視
            • テナントのカスタムモニタリングレポート
          • 診断
            • リアルタイム診断
              • SQL 診断
                • Top SQL
                • スローSQL
                • 疑わしいSQL
                • ハイリスクSQL
              • SQL監査
          • パラメータ管理
            • テナントパラメータの管理
            • パラメータ一覧の説明
            • パラメータテンプレートの説明
          • テナントの削除
          • データベースとアカウント管理
            • アカウントの作成
            • アカウントの管理
            • データベースの作成(MySQL互換モードのみ)
            • データベースの管理 (MySQL互換モードのみ)
        • インスタンズパフォーマンスモニタリング
          • クラスタ監視の概要
          • クラスタデータベースのパフォーマンス監視
          • クラスタ多次元指標のパフォーマンス監視
          • クラスタホストのパフォーマンス監視
          • データベースプロキシの監視詳細
          • データベースプロキシホストの監視詳細
          • クロスクラウドネットワークパフォーマンス監視
          • クラスタのカスタムモニタリングレポート
        • データマージ
          • メジャーコンパクションの開始
          • メジャーコンパクションレコードの表示
          • メジャーコンパクションの開始時刻を変更する
        • インスタンスパラメータ管理
          • パラメータ管理
          • パラメータ一覧の説明
        • インスタンス設定の変更
          • ストレージの自動拡張を設定する
          • クラスタインスタンスの構成変更履歴を表示する
          • インスタンス構成の変更 (従量課金)
          • デプロイプランの切り替え
        • スタンバイインスタンス管理
          • スタンバイインスタンスの概要
          • スタンバイインスタンスの作成
          • クロスクラウドスタンバイインスタンスの作成
          • プライマリ/スタンバイインスタンスの管理画面
          • プライマリ/スタンバイデータベースのグローバルアドレスの設定
          • スタンバイデータベースの書き込みリクエストの自動ルーティングを設定する
          • プライマリ/スタンバイインスタンスの切り替え
          • ディザスタリカバリフェイルオーバー
          • プライマリ/スタンバイインスタンスの分離
          • スタンバイインスタンスのリリース
        • インスタンスのリリース
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシの管理
          • ダイレクトロード
        • アラート管理
          • アラート管理
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • トリガー条件テンプレートの作成
            • トリガー条件テンプレートの表示
            • トリガー条件テンプレートの編集
            • トリガー条件テンプレートのコピー
            • トリガー条件テンプレートの削除
          • アラーム抑制ルールの管理
            • アラートミュートルールの作成
            • アラートミュートルールの表示
            • アラートミュートルールの編集
            • アラートミュートルールの削除
          • アラート通知テンプレートの管理
            • アラート通知テンプレートの作成
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • アラート通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先の追加
            • アラート連絡先グループの追加
            • アラート連絡先の表示
            • アラート連絡先の編集
            • アラート連絡先の削除
            • Webhook アドレスの取得
          • カスタムアラートで利用可能なモニタリング指標
        • バックアップとリカバリ
          • バックアップ・リストアの概要
          • バックアップポリシー
          • 今すぐバックアップ
          • データバックアップ
          • データ復元の開始
          • データ復元
          • インスタンスのごみ箱からデータバックアップを復元する
        • 診断
          • パフォーマンス監視データの表示
          • 容量診断
          • ワンクリック診断
            • ワンクリック診断の開始
            • ワンクリック診断レポートの表示
              • 異常イベント
              • リアルタイム診断
              • 最適化提案
              • 容量管理
              • セキュリティ管理
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • スローSQL
              • 疑わしいSQL
              • ハイリスクSQL
              • SQLの詳細
              • SQLモニタリングメトリクス一覧
            • セッション管理
              • セッション管理
            • リクエスト分析
              • リクエスト分析
          • ルート cause 診断
            • 例外イベントの表示
            • システム自律性の有効化
          • SQL監査
          • マテリアライズドビューの分析
          • 最適化センター
            • 最適化の提案
            • 有効なアウトラインの管理
            • SQL Review
            • 最適化履歴の表示
        • タグの管理
        • 読み取り専用レプリカ管理
          • 読み取り専用レプリカの概要
          • インスタンス読み取り専用レプリカ
            • インスタンスに読み取り専用レプリカを追加する
            • インスタンスの読み取り専用レプリカ関連情報の表示
            • 読み取り専用レプリカの構成管理
            • インスタンスの読み取り専用レプリカを削除する
          • テナント読み取り専用レプリカ
            • テナントに読み取り専用レプリカを追加する
            • テナントの読み取り専用レプリカ関連情報の表示
            • テナントの読み取り専用レプリカを変更する
            • テナントの読み取り専用レプリカを削除する
        • JVM環境依存サービスの管理
      • データソース管理の概要
      • データソース管理
        • プライベート接続
          • Google Cloudエンドポイントの設定
        • パブリック接続
          • Google Cloudインスタンスのアローリストに追加する
      • データライフサイクル管理
        • データライフサイクル管理の概要
        • データアーカイブ
        • データのクリーンアップ
        • アーカイブ設定の説明
      • ゴミ箱管理
        • インスタンスごみ箱
        • データベーステーブルゴミ箱管理
          • 概要
          • インスタンスのデータベース・テーブルのごみ箱
          • テナントデータベース・テーブルのごみ箱
    • 分析型インスタンスの使用
      • 分析型インスタンスの概要
      • OceanBase APのコア機能
      • インスタンスの作成
      • インスタンスへの接続
        • 接続方法の概要
        • 接続文字列の取得
          • 概要
          • AWS PrivateLinkを使用した接続
          • Huawei Cloud VPCエンドポイントを使用してデータベースに接続する
          • パブリックアドレスを使用してデータベースに接続する
        • クライアントを介した接続
          • デスクトップ版ODCによるOceanBase Cloudデータベースへの接続
          • MySQLクライアントを使用してOceanBase Cloudに接続する
          • OBClientを使用してOceanBase Cloudに接続する
        • ドライバー/ORM フレームワークを介した接続
          • Java
            • SpringBootによるOceanBase Cloudデータベースへの接続
            • SpringBatchによるOceanBase Cloudデータベースへの接続
            • Spring JDBCによるOceanBase Cloudデータベースへの接続
            • SpringJPAでOceanBase Cloudに接続する
            • HibernateによるOceanBase Cloudデータベースへの接続
            • MyBatisによるOceanBase Cloudデータベースへの接続
            • MySQL Connector/J を使用して OceanBase Cloud に接続する
          • Python
            • mysqlclient による OceanBase Cloud データベース接続サンプルプログラム
            • PyMySQLでOceanBase Cloudに接続するサンプルプログラム
            • MySQL Connector/Pythonを使用してOceanBase Cloudデータベースに接続する
          • C
            • MySQL Connector/Cを使用してOceanBase Cloudに接続する
          • Go
            • Go-SQL-Driver/MySQLを使用してOceanBase Cloudデータベースに接続する
          • PHP
            • PHPを使用してOceanBase Cloudに接続する
        • データベース接続プールの使用
          • データベース接続プールの設定
          • Tomcat接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • C3P0接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • Proxool接続プールを使用したOceanBaseデータベース接続サンプルプログラム
          • HikariCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • DBCP接続プールでOceanBaseデータベースに接続するサンプルプログラム
          • Commons Pool による OceanBase データベース接続サンプルプログラム
          • Druid接続プールを使用したOceanBaseデータベース接続サンプルプログラム
      • データテーブル設計
        • データテーブルの概要
        • データテーブル設計のベストプラクティス
          • Unit 1:ストレージ構造とクエリパフォーマンスを最適化するための戦略のベストプラクティス
          • Unit 2:特殊インデックスの選択と作成のベストプラクティス
      • データのエクスポート
      • データ加工
      • クエリアクセラレーション
        • 統計情報
        • マテリアライズドビューによるクエリの高速化
        • クエリ並列度の選択
      • インスタンス管理
        • インスタンスのダッシュボードを表示する
        • インスタンス構成の変更
        • ストレージの自動拡張を設定する
        • プライマリゾーンの変更
        • パラメータの管理
        • バックアップとリカバリ
          • バックアップ・リストアの概要
          • バックアップポリシー
          • 即時バックアップ
          • データバックアップ
          • リストアの開始
          • データ復元
        • パフォーマンスモニタリング
          • クラスタ監視の概要
          • インスタンスデータベースのパフォーマンス監視を表示する
          • インスタンスホストのパフォーマンス監視を表示する
        • データマージ
          • メジャーコンパクションの開始
          • メジャーコンパクションレコードの表示
          • マージ時間の変更
        • データベースプロキシ
          • データベースプロキシの概要
          • データベースプロキシ管理
          • ダイレクトロード
        • アラート管理
          • 概要
          • アラートルールの管理
            • アラートルールの作成
            • アラートルールの表示
            • アラートルールの編集
            • アラートルールの削除
          • アラート履歴の表示
          • アラートルールテンプレートの管理
            • トリガー条件テンプレートの作成
            • トリガー条件テンプレートの表示
            • トリガー条件テンプレートの編集
            • トリガー条件テンプレートのコピー
            • トリガー条件テンプレートの削除
          • アラーム抑制ルールの管理
            • アラート抑止ルールの作成
            • アラート抑止ルールの表示
            • アラート抑止ルールの編集
            • アラート抑止ルールの削除
          • アラート通知テンプレートの管理
            • アラート通知テンプレートの作成
            • アラート通知テンプレートの表示
            • アラート通知テンプレートの編集
            • アラート通知テンプレートのコピー
            • アラート通知テンプレートの削除
          • アラート連絡先管理
            • アラート連絡先の追加
            • アラート連絡先グループの追加
            • アラート連絡先の表示
            • アラート連絡先の編集
            • アラート連絡先の削除
            • Webhook アドレスの取得
          • カスタムアラートで利用可能な監視メトリクス
        • 診断
          • パフォーマンス監視データの表示
          • 容量診断
          • リアルタイム診断
            • SQL 診断
              • Top SQL
              • スローSQL
              • 疑わしいSQL
              • ハイリスクSQL
              • SQLの詳細
              • SQLモニタリングメトリクス一覧
            • セッション管理
              • セッション管理
            • 最適化センター
              • 有効なアウトラインの管理
              • 最適化履歴の表示
            • リクエスト分析
              • リクエスト分析
        • インスタンスの一時停止・再開
        • インスタンスの解放
        • データベースとアカウント管理
          • アカウントの作成
          • データベースの作成
          • データベースの管理
        • タグの管理
      • データソース管理の概要
      • データライフサイクル管理
        • データアーカイブ
        • データのクリーンアップ
      • パフォーマンス診断とチューニング
        • 診断の実践:DBMS_XPLANシステムパッケージを使用したパフォーマンス診断
        • 診断の実践:SQL_PLAN_MONITORを使用したパフォーマンス問題の分析
        • AP性能分析関連ビュー
      • パフォーマンステスト
      • エコシステム統合
      • ゴミ箱管理
        • クラスタインスタンスのごみ箱
        • データベーステーブルゴミ箱管理
          • 概要
          • インスタンスのデータベース・テーブルのごみ箱
    • キーバリュー型インスタンスの使用
      • Table モデルの使用
        • インスタンスの作成
        • インスタンス管理
          • インスタンス管理
            • インスタンスリストの表示
            • クラスタインスタンスのダッシュボード概要
            • インスタンスの一時停止と起動
            • インスタンスのリリース
          • インスタンステナント管理
            • テナントの作成
            • テナント仕様の変更
            • テナント名の変更
            • テナントの削除
            • テナントの概要
            • リソース分離管理
              • リソース分離の概要
              • リソースグループ管理
                • リソースグループの作成
                • リソースグループの表示
                • リソースグループの編集
                • リソースグループの削除
              • 分離ルールの管理
                • 分離ルールの作成
                • 分離ルールの表示
                • 隔離ルールの編集
                • 隔離ルールの削除
            • テナントパフォーマンスモニタリング
              • テナント監視の概要
              • パフォーマンスとSQLの監視
              • トランザクション監視
              • ストレージとキャッシュの監視
              • OBKV-Table
              • テナントのカスタムモニタリングレポート
            • 診断
              • Top SQL
            • パラメータ管理
              • テナントパラメータの管理
              • パラメータ一覧の説明
            • データベースとアカウント処理
              • アカウントの作成と管理
              • データベースの作成
              • データベースの管理
            • プライマリゾーンの変更
          • インスタンズパフォーマンスモニタリング
            • クラスタ監視の概要
            • クラスタデータベースのパフォーマンス監視
            • クラスタ多次元指標のパフォーマンス監視
            • クラスタホストのパフォーマンス監視
            • インスタンスのカスタムモニタリングレポート
          • データマージ
            • メジャーコンパクションの開始
            • メジャーコンパクションレコードの表示
            • メジャーコンパクションの実行時刻の変更
          • インスタンスパラメータ管理
            • パラメータ管理の概要
            • パラメータ管理リスト
          • インスタンス設定の変更
            • ストレージの自動拡張を設定する
            • 設定変更履歴の表示
            • 構成の変更
            • デプロイメントモードの切り替え
          • データベースプロキシ
            • データベースプロキシの概要
            • データベースプロキシの管理
          • アラート管理
            • 概要
            • アラートルールの管理
              • アラートルールの作成
              • アラートルールの表示
              • アラートルールの編集
              • アラートルールの削除
            • アラート履歴の表示
            • アラートルールテンプレートの管理
              • トリガー条件テンプレート管理機能一覧
              • アラートテンプレートの作成
              • アラートテンプレートの表示
              • アラートテンプレートの編集
              • アラートテンプレートのコピー
              • アラートテンプレートの削除
            • アラーム抑制ルールの管理
              • アラート抑止ルールの作成
              • アラート抑止ルールの表示
              • アラートミュートルールの編集
              • アラート抑止ルールの削除
            • アラート連絡先管理
              • アラート連絡先の追加
              • アラート連絡先グループの追加
              • アラート連絡先の表示
              • アラート連絡先の編集
              • アラート連絡先の削除
              • Webhookアドレスの取得
            • カスタムアラートで利用可能なモニタリング指標
          • バックアップとリカバリ
            • バックアップ・リストアの概要
            • バックアップポリシー
            • 即時バックアップ
            • データバックアップ
            • リストアの開始
            • データ復元
          • 診断
            • パフォーマンス監視データの表示
            • Top SQL
            • 容量診断
            • リクエスト分析
          • タグの管理
          • ゴミ箱管理
            • インスタンスのごみ箱を表示する
            • データベーステーブルゴミ箱管理
              • 概要
              • インスタンスレベルのごみ箱
              • テナントレベルのごみ箱
      • キーバリュー型インスタンスを試す
        • インスタンスの作成
        • テナントの作成
        • アカウントの作成
        • OBKV-HBaseデータ操作の例
      • HBase モデルの使用
        • OBKV-HBaseの概要
        • インスタンスの作成
        • OBKV-HBase を使用したアプリケーション開発
          • OBKV-HBaseクライアントを使用してクラスタに接続する
        • インスタンス管理
          • インスタンス管理
            • インスタンス一覧の表示
            • クラスタインスタンスの概要
            • インスタンスの一時停止と再開
            • インスタンスのリリース
          • インスタンステナント管理
            • テナントの作成
            • テナント仕様の変更
            • テナント名の変更
            • テナントの削除
            • テナントの概要
            • リソース分離管理
              • 概要
              • リソースグループ管理
                • リソースグループの作成
                • リソースグループの表示
                • リソースグループの編集
                • リソースグループの削除
              • 分離ルールの管理
                • 隔離ルールの作成
                • 分離ルールの表示
                • 隔離ルールの編集
                • 隔離ルールの削除
            • テナントパフォーマンスモニタリング
              • 概要
              • パフォーマンスとSQLの監視詳細を表示する
              • トランザクション監視の詳細を表示する
              • ストレージとキャッシュの監視詳細を表示する
              • OBKV-HBase
              • テナントのカスタムモニタリングパネルを作成する
            • 診断
              • Top SQL
            • パラメータ管理
              • テナントパラメータの管理
              • テナントパラメータ
            • データベースとアカウント処理
              • アカウントの作成と管理
              • データベースの作成
              • データベースの管理
            • プライマリゾーンの変更
          • インスタンズパフォーマンスモニタリング
            • 概要
            • インスタンス内のデータベースのパフォーマンス監視
            • クラスタの多次元指標によるパフォーマンス監視
            • インスタンス内のホストのパフォーマンスを監視する
            • インスタンスのカスタムモニタリングパネルを作成する
          • データマージ
            • メジャーコンパクションの開始
            • メジャーコンパクションレコードの表示
            • メジャーコンパクションの実行時間の変更
          • インスタンスパラメータ管理
            • パラメータ管理の概要
            • クラスタインスタンスのパラメータ
          • インスタンス設定の変更
            • ストレージの自動拡張を設定する
            • 設定変更履歴の表示
            • 構成の変更
            • デプロイメントモードの切り替え
          • データベースプロキシ
            • 概要
            • データベースプロキシの管理
          • アラート管理
            • 概要
            • アラートルールの管理
              • アラートルールの作成
              • アラートルールの表示
              • アラートルールの編集
              • アラートルールの削除
            • アラート履歴の表示
            • アラートルールテンプレートの管理
              • トリガー条件テンプレート管理機能一覧
              • アラートテンプレートの作成
              • アラートテンプレートの表示
              • アラートテンプレートの編集
              • アラートテンプレートのコピー
              • アラートテンプレートの削除
            • アラーム抑制ルールの管理
              • アラート抑止ルールの作成
              • アラート抑止ルールの表示
              • アラート抑止ルールの編集
              • アラートミュートルールの削除
            • アラート連絡先管理
              • アラート連絡先の追加
              • アラート連絡先グループの追加
              • アラート連絡先の表示
              • アラート連絡先の編集
              • アラート連絡先の削除
              • Webhookアドレスの取得
            • カスタムアラート用の監視メトリクス
          • バックアップとリカバリ
            • バックアップ・リストアの概要
            • バックアップポリシー
            • 即時バックアップ
            • データバックアップ
            • リストアの開始
            • データ復元
          • 診断
            • パフォーマンス監視データの表示
            • Top SQL
            • 容量診断
            • リクエスト分析
          • タグの管理
          • ゴミ箱管理
            • クラスタインスタンスのごみ箱
            • データベーステーブルゴミ箱管理
              • 概要
              • インスタンスデータベース・テーブルのごみ箱
              • テナントデータベース・テーブルのごみ箱
        • データソース管理の概要
        • OBKV-HBaseの性能テスト
      • 接続文字列の取得
        • 概要
        • Huawei Cloud VPCエンドポイントを使用したOBKVへの接続
        • 公開IPアドレスを使用してOBKVに接続する
  • AI
    • AI サービス
      • AIサービスの概要
      • クイックスタート
      • AI API Keyの管理
      • AIモデルの使用
      • OceanBase MaaSを使用したClaude Codeの利用
      • OceanBase MaaSを使用したCodex CLIとCodex Appの利用
      • メモリ機能の使用
      • 組み込みモデル一覧
      • AI API
        • アクセスの仕方
        • AI サービス API インターフェース
          • AI API一覧
          • Anthropic 互換インターフェース
            • List Anthropic Models - Anthropicモデルの一覧を取得する
            • Create a Message - Anthropic メッセージの作成
            • Create a Message (Default Base) - Anthropic Messages
          • OpenAI 互換インターフェース
            • List Models - モデルリストの取得
            • Create Chat Completion - OpenAI チャット補完
            • Create Embedding - OpenAI Embeddings
            • Rerank - リランキング
            • Reranks - リランキング
            • Create Response - OpenAI Responses
          • Vertex AI 互換インターフェース
            • generateContent - Vertex AIによるコンテンツ生成
            • streamGenerateContent - Vertex AI ストリーミングコンテンツ生成
          • 画像とビデオ生成 API
            • Create Image Generation - 画像の生成
            • Create Video Generation - 動画生成タスクの作成
            • Retrieve Task Status - 非同期タスクのステータスを取得する
          • 画像生成モデル API
            • gpt-image-2によるテキストから画像への変換
            • gpt-image-2 Image Editing - 画像編集
            • gemini-3-pro-imageによるテキストから画像への変換
            • gemini-3-pro-imageによる画像から画像への変換/画像編集
          • OpenAI 互換のバッチとファイル API
            • Upload file - ファイルのアップロード
            • List files - バッチファイルの一覧を取得する
            • Retrieve file - バッチファイル情報の取得
            • Delete file - バッチファイルの削除
            • Get file content - バッチファイルの内容を取得する
            • Get file content (POST) - バッチファイルの内容を取得する
            • Create batch - バッチタスクの作成
            • List batches - バッチタスクの一覧を取得する
            • Retrieve batch - バッチタスクの状態を取得する
            • Retrieve batch (POST) - バッチタスクの取得
            • Cancel batch - バッチタスクのキャンセル
          • Memory API
            • listSpaces - メモリースペースをページネーションで一覧表示する
            • createSpace - メモリースペースを作成する
            • getSpace - 指定されたスペースの詳細を取得する
            • updateSpace - スペース名と説明を更新する
            • deleteSpace - スペースの削除
            • extractMemories - 対話メッセージからメモリを抽出する
            • listMemories - スペース内のメモリを一覧表示する
            • addMemory - メモリへの直接書き込み
            • getMemory - 単一のメモリを取得する
            • updateMemory - 単一のメモリ内容を更新する
            • deleteMemory - 単一のメモリを削除する
            • distillMemory - 対話からエクスペリエンスを抽出する
            • searchExperiences - エクスペリエンスの検索
            • getExperience - 単一のエクスペリエンスを取得する
            • deleteExperience - 単一のエクスペリエンスを削除する
            • feedbackExperiences - エクスペリエンスのフィードバック(高評価 / 低評価)
            • setExperienceObsolescence - エクスペリエンスを廃止としてマークまたはマーク解除する
            • combinedSearch - 統合検索(メモリ + エクスペリエンス)
    • OceanBase OAgent
      • OceanBase OAgentの概要
      • OceanBase OAgentのクイックスタート
      • チャネルの設定
      • スキルの設定
      • OceanBase OAgentトークン使用状況の確認
  • データ移行とインポート
    • データ移行とインポートのソリューション
    • データ評価と移行のクイックスタート
    • 互換性評価
      • 互換性評価の概要
      • オンライン評価の実行
      • オフライン評価の実行
      • 互換性評価タスクの管理
        • 互換性評価タスクの表示
        • 互換性評価レポートの表示とダウンロード
        • 互換性評価タスクの一時停止
        • 互換性評価タスクの削除
      • アップロードファイルの取得
      • PrivateLinkの設定
      • IPアドレスのホワイトリストへの追加
    • データソースの管理
      • データソースの新規作成
      • データソースの管理
      • ユーザー権限
        • 互換性評価ユーザー権限
        • データ移行に必要なユーザー権限
        • パフォーマンス評価ユーザー権限
        • データアーカイブユーザー権限
        • データクリーンアップユーザー権限
      • プライベート接続
        • AWSエンドポイントの設定
        • Huawei Cloudエンドポイントの設定
        • Alibaba Cloudエンドポイントの設定
        • Azureエンドポイントの設定
        • プライベートIPアドレスセグメントの説明
      • パブリック接続
        • AWSインスタンスの許可リストに追加する
        • Huawei Cloudインスタンスの許可リストに追加する
        • Alibaba Cloudインスタンスの許可リストに追加する
        • Azureインスタンスの許可リストに追加する
      • ピアリング接続
        • AWSデータサービスのピアリング接続を設定する
        • Huawei Cloudデータサービスのピアリング接続を設定する
        • Alibaba Cloudデータサービスのピアリング接続を設定する
        • Google Cloudデータサービスのピアリング接続を設定する
    • データ移行
      • データ移行の概要
      • データ移行の仕様説明
      • データ移行インスタンスの購入
      • MySQLデータベースのデータをOceanBaseデータベースのMySQL互換モードに移行する
      • OceanBaseデータベースのMySQL互換モードのデータをMySQLデータベースに移行する
      • OceanBaseデータベースの同一互換モード間でのデータ移行
      • OceanBaseデータベースの異なる互換モード間でのデータ移行
      • OracleデータベースのデータをOceanBaseデータベースのOracle互換モードに移行する
      • OceanBaseデータベースのOracle互換モードのデータをOracleデータベースに移行する
      • 双方向同期タスクの設定
      • OceanBaseデータベースのデータをKafkaに移行する
      • TiDBデータベースからOceanBaseデータベースのMySQL互換モードへのデータ移行
      • OceanBaseデータベースのMySQL互換モードからTiDBデータベースへの増分データ移行
      • PostgreSQLデータベースのデータをOceanBaseデータベースに移行する
      • OceanBaseデータベースの増分データをPostgreSQLデータベースに移行する
      • Lindorm/HBaseデータベースのデータをOceanBaseデータベースのHBase API互換モードに移行する
      • OceanBaseデータベースのHBase API互換モードからLindorm/HBaseデータベースへの増分データ移行
      • OceanBaseデータベースのデータをRocketMQに移行する
      • OceanBaseデータベースのデータをDataHubに移行する
      • OceanBaseデータベースのMySQL互換モードのデータをADBに移行する
      • PolarDB-X 2.0データベースのデータをOceanBaseデータベースのMySQL互換モードに移行する
      • データ移行タスクの管理
        • データ移行タスクの詳細を表示する
        • データ移行タスクの名前を変更する
        • 移行オブジェクトの表示と変更
        • パラメータの確認と変更
        • アラートの設定
        • ラベルによるデータ移行タスクの管理
        • インテリジェント診断
        • データ移行タスクの開始、一時停止、および再開
        • データ移行タスクのクローン
        • データ移行タスクの終了と解放
      • 機能紹介
        • DML/DDLのカスタム設定
        • DDL同期範囲
        • SQL条件によるデータのフィルタリング
        • データベース名とテーブル名の変更
        • 増分同期の開始時点の設定
        • 構造移行の操作説明
        • マッチングルールの設定と変更
        • ワイルドカードルールの説明
        • 移行対象オブジェクトのインポート
        • 競合データのダウンロード
        • Topicの変更
        • 列フィルタリング
        • データ形式の説明
        • パーティション設定
      • Alibaba Cloudアカウントの権限付与
      • テーブルオブジェクトのSQLクエリ
      • Online DDLツールの適用について
      • トリガーの作成
      • セルフマネージドPostgreSQLインスタンスのログレベルを変更する
      • 増分移行のサポート対象 DDL 操作と制限
        • Aurora MySQLデータベースクラスタからOceanBaseデータベースのMySQL互換モードテナントへのDDL同期の概要
        • OceanBaseデータベースのMySQL互換モードテナントからAurora MySQLデータベースクラスタへのDDL同期
        • OceanBaseデータベースのMySQL互換モードテナント間のDDL同期
        • OracleデータベースからOceanBaseデータベースのOracle互換モードテナントへのDDL同期
        • OceanBaseデータベースのOracle互換モードテナントからOracleデータベースへのDDL同期
        • OceanBaseデータベースのOracle互換モードにおけるテナント間のDDL同期
        • OceanBaseデータベースからKafkaへのDDL同期
    • データサブスクリプション
      • データサブスクリプションタスクの作成
      • データサブスクリプションタスクの管理
        • データサブスクリプションタスクの詳細を表示する
        • サブスクリプション情報の設定
        • データサブスクリプションタスクの名称を変更する
        • サブスクリプションオブジェクトの表示と変更
        • データサブスクリプションパラメータの表示
        • データサブスクリプションのアラートを設定する
        • データサブスクリプションタスクの開始、一時停止、および再開
        • データサブスクリプションタスクのクローン
        • データサブスクリプションタスクの解放
      • データサブスクリプションのプライベート接続を管理する
      • サブスクリプションの消費設定
      • メッセージ形式の説明
    • データ検証
      • データ検証の概要
      • 検証タスクの新規作成
      • データ検証タスクの管理
        • データ検証タスクの詳細を表示する
        • 検証オブジェクトの表示と変更
        • データ検証パラメータの表示と変更
        • ラベルを使用したデータ検証タスクの管理
        • データ検証タスクの開始、一時停止、および再開
        • データ検証タスクのクローン
        • データ検証タスクの解放
      • 機能紹介
        • 検証オブジェクトのインポート
        • 検証オブジェクトの名前変更
        • SQL条件を使用した検証オブジェクトのフィルタリング
        • 検証オブジェクトのマッチングルールの設定
    • パフォーマンス評価
      • 概要
      • データベースインスタンスのトラフィックファイルを取得する
      • 完全なパフォーマンス評価タスクの新規作成
      • SQLファイル解析タスクの新規作成
      • SQLファイルリプレイタスクの新規作成
      • パフォーマンス評価タスクの管理
        • パフォーマンス評価タスクの詳細を表示する
        • パフォーマンス評価レポートの表示
        • パフォーマンス評価タスクの再試行と停止
        • パフォーマンス評価タスクの削除
      • データベースインスタンスの取得
      • アクセスキーを作成する
    • データのインポート
      • データのインポート
      • ダイレクトロード
      • データインポートでサポートされているファイル形式とエンコーディング形式
      • サンプルデータについて
    • Binlog
      • 概要
      • Binlogサービスの購入
      • Binlog サービスの管理
        • Binlogサービスの詳細を表示する
        • 設定変更
        • 自動スケーリングポリシーの変更
        • 弾力性ポリシーの変更
        • Binlogサービスの停止
    • スマートアップグレード
  • セキュリティ管理
    • アカウント設定
      • 個人アカウント情報の管理
      • マルチファクタ認証
      • 組織認証
        • 組織認証の有効化
        • IdPの設定
      • AccessKeyの管理
      • タイムゾーンの設定
      • クラウドマーケットアカウントの管理
      • アカウント監査
    • 組織プロジェクト管理
      • 組織・プロジェクト管理の概要
      • 組織情報の管理
      • プロジェクト管理
        • プロジェクト管理
        • プロジェクト間の双方向権限付与
        • AI設定
        • オブジェクトストレージの設定
        • プロジェクトメッセージのサブスクリプション
      • メンバー管理
      • ロール権限一覧
      • 組織コスト管理
        • 組織コストの概要
        • コスト明細
        • コストユニットの管理
      • 操作監査
    • アカウントと権限管理
      • アカウント権限リスト
      • クラウドベンダーアカウントの権限付与
      • AWS KMS キー管理
      • テクニカルサポートサービスのアクセス権限付与
    • セキュリティ暗号化
      • 許可リストグループ設定
      • SSLによる通信経路暗号化
      • TDE 透過的データ暗号化
    • モニタリングダッシュボード
    • イベントセンター
    • サポートプラン
      • OceanBase Cloud サポートプランの概要
      • サポートプランの購入と管理
  • SQL コンソール
    • 概要
    • SQLコンソールへのログイン
    • SQLの編集と実行
    • PLコンパイル
    • 結果セットの編集
    • 実行分析
    • データベースオブジェクト管理
      • テーブルの作成
      • ビューの作成
      • 関数の作成
      • ストアドプロシージャの作成
      • プログラムパッケージの作成
      • トリガーの作成
      • タイプの作成
      • シーケンスの作成
      • シノニムの作成
    • セッション変数の管理
    • SQLコンソールの機能キー一覧
    • スマートSQL開発
  • エコシステム統合
    • エコシステム統合の概要
    • データベースバージョニング
      • Liquibaseを使用したOceanBaseデータベースのバージョン管理
      • Flywayを使用したOceanBase Cloudデータベースのバージョン管理
    • データ統合
      • Canalを使用したデータの同期
      • dbtを使用したOceanBaseデータの分析
      • Debezium
      • Flinkによるデータの同期
      • AWS Glueを使用したOceanBaseデータの移行
      • Informatica CloudとOceanBaseデータベースの連携ガイド
      • OceanBaseデータベースとKafkaの統合に関するベストプラクティス
      • Maxwell
      • SeaTunnel
      • DataWorks
      • Apache NiFiによるOceanBase Cloudの統合
    • SQL 開発
      • DataGripでOceanBase Cloudデータベースに接続する
      • DBeaverでOceanBase Cloudに接続する
      • NavicatでOceanBase Cloudに接続する
      • TablePlusでOceanBase Cloudデータベースに接続する
    • オーケスト레이션 スケジューリング
      • DolphinScheduler
      • LinkisとOceanBaseデータベースの連携
      • AirflowとOceanBaseデータベースの連携
    • 可視化
      • GrafanaでOceanBase Cloudの監視ダッシュボードデータを表示する
      • Power BIでOceanBase Cloudに接続してデータを取得する
      • Quick BIでOceanBase Cloudに接続する
      • SupersetとOceanBase Cloudを使用したデータ分析
      • TableauからOceanBase Cloudに接続する
    • オブザーバビリティ
      • Datadogを使用したOceanBase Cloudインスタンスの監視
      • Prometheusを使用したOceanBaseデータの監視
    • データベース管理
      • BytebaseによるOceanBaseインスタンスの管理
    • AI
      • OceanBase Cloud VectorとLlamaIndexの連携
      • OceanBase Cloud VectorとDifyの連携
      • OceanBase Cloud VectorとLangChainの連携
      • OceanBase Cloud VectorとQwenの連携
      • OceanBase Cloud VectorとOpenAIの連携
      • OceanBase Cloudとn8nの連携
      • OceanBase MCP ServerとTraeの連携
      • OceanBase Cloud VectorとSpring AI Alibabaの連携
      • OceanBase MCP ServerとClineの連携
      • OceanBase MCP ServerとCursorの連携
      • OceanBase MCP ServerとContinueの連携
      • Google GenAI ToolboxとOceanBase MCP Serverの統合
      • OceanBase Cloud VectorとCamelAIの連携
      • OceanBase Cloud VectorとFirecrawlの連携
      • OceanBase Cloud VectorとHugging Faceの連携
      • OceanBase Cloud VectorとOllamaの連携
      • OceanBase Cloud VectorとGoogle Geminiの連携
      • OceanBase Cloud VectorとCloudflare Workers AIの連携
      • OceanBase MCP ServerとQoderの連携
      • OceanBase MCP ServerとOpenCodeの連携
      • OceanBase MCP ServerとClaude Codeの連携
      • OceanBase MCP ServerとGitHub Copilotの連携
      • OceanBase MCP ServerとCodexの連携
      • OceanBase Cloud VectorとJina AIの連携
      • OceanBase MCP ServerとAugment Codeの連携
      • OceanBase MCP ServerとClaude Codeの連携
      • OceanBase MCP ServerとKiroの連携
    • 開発ツール
      • Cloudflare WorkersでOceanBase Cloudに接続する
      • VercelでOceanBase Cloudに接続する
  • ベストプラクティス
    • クロスクラウドアクティブ-アクティブによる高可用性の実現に関するベストプラクティス
    • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性(1プライマリ1スタンバイ)
    • クロスクラウドのプライマリ/スタンバイデータベースによる高可用性の実現(1プライマリ・複数スタンバイ)
    • ホストのCPU利用率が高すぎる
    • OceanBase Cloudクラウドデータベースの読み書き分離に関するベストプラクティス
    • AWS RDSのデータをOceanBase Cloudへ移行するベストプラクティス
  • リファレンスガイド
    • システムアーキテクチャ
    • システム管理
    • データベースオブジェクト管理
    • データベース設計と仕様制約
    • SQLリファレンス
    • システムビュー
    • 構成パラメータとシステム変数
    • エラーコード
    • パフォーマンスチューニング
    • Open API リファレンス
      • Open APIの概要
      • サービスエンドポイント
      • API接続について
      • Open API ディレクトリ
        • インスタンス管理
          • DescribeInstances - クラスタリストを取得する
          • DescribeInstance - クラスタ情報の取得
          • CreateInstance - クラスタの作成
          • DeleteInstance - クラスタの削除
          • ModifyInstanceName - クラスタ名の変更
          • DescribeNodeOptions - 監視に使用できるノードの候補を取得する
          • StopCluster - クラスタインスタンスの一時停止
          • StartCluster - クラスタインスタンスの起動
          • ModifyInstanceSpec - クラスタ仕様の変更
          • DescribeInstanceTopology - インスタンスのトポロジー情報を取得する
          • DescribeReadonlyInstances - インスタンスの読み取り専用レプリカ情報を取得する
          • CreateReadonlyInstance - 読み取り専用レプリカインスタンスの作成
          • ModifyReadonlyInstanceSpec - 読み取り専用レプリカインスタンスの仕様を変更する
          • ModifyReadonlyInstanceDiskSize - 読み取り専用レプリカのディスクサイズを変更する
          • ModifyReadonlyInstanceNodeNum - 読み取り専用レプリカのノード数を変更する
          • DeleteReadonlyInstance - 読み取り専用レプリカインスタンスの削除
          • DescribeInstanceAvailableRoZones - 読み取り専用レプリカのゾーンを取得する
          • DescribeInstanceParameters - クラスタレベルパラメータの取得
          • UpdateInstanceParameters - クラスタレベルパラメータの変更
          • DescribeInstanceParametersHistory - クラスタレベルパラメータの変更履歴を取得する
          • ModifyInstanceTagList - インスタンスタグの変更
          • ModifyInstanceNodeNum - クラスタノード数の変更
          • DescribeInstanceAnomalyEvents - インスタンスの異常イベントを取得する
          • DescribeOasClusterAnomalySqlList - クラスタの疑わしいSQL一覧を取得する
          • DescribeOasClusterSlowSQLList - クラスタのスローSQL一覧を取得する
          • DescribeInstanceSqlAuditServiceInfo - SQL監査サービス情報の取得
          • DescribeProxyClusterForInstance - インスタンスODPプロキシクラスタのクエリ
        • テナント管理
          • DescribeTenants - 条件でテナントを検索する
          • DescribeTenant - 指定クラスタ内の指定テナント情報を照会する
          • CreateTenants - テナントの作成
          • DeleteTenants - テナントの削除
          • ModifyTenantName - テナント名の変更
          • ModifyTenant - テナントの変更
          • ModifyTenantUserDescription - テナントユーザーの説明を変更する
          • ModifyTenantUserStatus - テナント内ユーザーのステータスを変更する
          • GetTenantCreateConstraints - テナント作成時の制約の確認
          • ModifyTenantPrimaryZone - テナントのプライマリゾーンを変更する
          • GetTenantCreateCpuConstraints - テナント作成時のCPU制約の確認
          • GetTenantCreateMemConstraints - テナント作成時のメモリ制約の確認
          • GetTenantModifyCpuConstraints - テナントのCPUを変更する際の制約を取得する
          • GetTenantModifyMemConstraints - テナントのメモリを変更する際の制約を取得する
          • CreateTenantSecurityIpGroup - テナントのセキュリティ許可リスト情報を作成する
          • DescribeTenantSecurityIpGroups - テナントの許可リストグループ一覧を取得する
          • ModifyTenantSecurityIpGroup - テナントの許可リストグループ情報を変更する
          • DeleteTenantSecurityIpGroup - テナントの許可リストグループ情報を削除する
          • DescribeTenantPrivateLink - テナントのPrivateLinkアドレス情報を照会する
          • DeletePrivatelinkConnection - テナント接続アドレスの削除
          • CreatePrivatelinkService - テナントのPrivateLink接続を有効化する
          • ConnectPrivatelinkService - PrivateLinkエンドポイントノードを介してデータベースに接続する
          • AddPrivatelinkServiceUser - PrivateLinkサービスの許可リストにユーザーを追加する
          • BatchKillProcessList - 指定テナントのセッションプロセスを一括終了する
          • DescribeProcessStatsComposition - セッションプロセス統計情報を取得する
          • DescribeTenantAddressInfo - テナントのアドレス情報を照会する
          • DescribeTenantAvailableRoZones - テナントの読み取り専用レプリカゾーンを取得する
          • ModifyTenantReadonlyReplica - テナントの読み取り専用レプリカを変更する
          • DescribeTenantParameters - テナントレベルパラメータを取得する
          • UpdateTenantParameters - テナントレベルパラメータの変更
          • DescribeTenantParametersHistory - テナントレベルのパラメータ変更履歴を取得する
          • ModifyTenantTagList - テナントタグの変更
          • CreateReadonlyPrivatelink - テナントのプライベートネットワーク読み取り専用アドレスを作成する
          • CreateReadwritePrivatelink - テナントのプライベートネットワーク読み書き分離アドレスを作成する
          • DescribeTenantPublicAddress - テナントのパブリックアドレスを照会する
          • DescribeTenantSqlAuditServiceInfo - テナントSQL監査サービス情報の取得
        • テナントアカウント管理
          • CreateTenantUser - テナントユーザーの作成
          • DescribeTenantUsers - テナントアカウントリストの検索
          • DeleteTenantUsers - テナントユーザーの削除
          • ModifyTenantUserPassword - テナントユーザーパスワードの変更
          • ModifyTenantUserRoles - テナントユーザーのロールを変更する
        • データベース管理
          • CreateDatabase - データベースの作成
          • DescribeDatabases - データベースリストのクエリ
          • DeleteDatabases - データベースの削除
          • ModifyDatabaseUserRoles - データベースユーザーロールの変更
          • DescribeTableSchema - テーブルスキーマのクエリ
        • バックアップとリカバリ管理
          • DescribeDataBackupSet - データバックアップセット情報の照会
          • DescribeRestorableTenants - 復元可能なテナントのクエリ
          • ModifyBackupStrategy - バックアップ戦略の変更
          • CreateTenantRestoreTask - テナント復元タスクの作成
          • CreateDataBackupTask - バックアップタスクの作成
          • DescribeOneDataBackupSet - タスクIDによるバックアップセットの取得
          • CreateBackupSetDownloadLink - バックアップセットのダウンロードリンクを作成する
          • DeleteBackupSetDownloadTask - バックアップセットのダウンロードタスクを削除する
          • DescribeBackupSetDownloadLink - バックアップセットのダウンロードリンクの取得
          • DescribeBackupStrategy - バックアップポリシーのクエリ
        • データベースプロキシ管理
          • CreateTenantAddress - テナントアドレスの作成
          • CreateTenantSingleTunnelSLBAddress - テナントのsingleTunnelSLBアドレスを新規作成
          • DeleteTenantAddress - テナントアドレスの削除
          • DescribeTenantAddress - テナントアドレスの照会
          • ModifyOdpClusterSpec - データベースプロキシクラスタの仕様を変更する
          • ModifyTenantAddressPort - テナントアドレスのポートを変更する
          • ModifyTenantAddressDomainPrefix - テナントアドレスのドメインプレフィックスを変更する
          • ConfirmPrivatelinkConnection - PrivateLinkによるプライベートネットワーク接続の完了を確認する
          • DescribeTenantAddressInfo - すべてのテナントアドレス情報の照会
        • データソース管理
          • ListDataSources - データソースリストの取得
          • CreateDataSource - データソースの作成
          • DeleteDataSource - データソースの削除
        • OMS プロジェクト管理
          • DescribeProject - プロジェクトの詳細を照会する
          • CreateProject - プロジェクトの作成
          • DeleteProject - プロジェクトの削除
          • DescribeProjectSteps - プロジェクトのステップリストを取得する
          • StartProject - プロジェクトの起動
          • StopProject - プロジェクトの停止
          • ResumeProject - プロジェクトの再開
          • ReleaseProject - プロジェクトリソースの解放
          • UpdateProjectConfig - プロジェクト設定の更新
          • ListProjectModifyRecords - プロジェクトの変更履歴を取得する
          • CreateProjectModifyRecords - プロジェクトの変更レコードを作成する (テーブルの追加・削除)
          • CancelProjectModifyRecord - 変更レコードの取消
          • RetryProjectModifyRecords - 変更レコードの再試行
          • StopProjectModifyRecords - 変更レコードの終了
          • GetModifyRecord - 変更レコードの詳細を取得する
          • DescribeTransferMapping - 転送オブジェクトのマッピング設定を取得する
        • モニタリング管理
          • DescribeTenantMetrics - テナントメトリクス情報の照会
          • DescribeMetricsData - モニタリングメトリクスデータのクエリ
          • CreatePrometheusIntegration - Prometheus監視の統合を作成する
          • DeletePrometheusIntegration - Prometheusモニタリング統合の削除
          • ListPrometheusIntegration - Prometheus監視連携リストの取得
          • DescribeNodeMetrics - ノードメトリクス情報の照会
        • 診断管理
          • DescribeOasTopSQLList - TopSQLリストのクエリ
          • DescribeOasAnomalySQLList - 疑わしいSQLリストの照会
          • DescribeOasSlowSQLList - SlowSQLリストのクエリ
          • DescribeOasSQLText - SQLテキストのクエリ
          • DescribeSqlAudits - SQL監査データの照会
          • DescribeOutlineBinding - SQLアウトラインのバインディング情報を照会する
          • DescribeSampleSqlRawTexts - 元のSQLテキストサンプルの照会
          • DescribeSQLTuningAdvices - SQLチューニングのアドバイスを取得する
          • DescribeOasSlowSQLSamples - スローSQL実行詳細のサンプルデータを照会する
          • DescribeOasSQLTrends - SQL実行履歴のクエリ
          • DescribeOasSQLPlanGroup - SQL実行計画のクエリ
          • DescribeRcaRecord - 根本原因分析レコードのクエリ
          • DescribeTopSQLComparision - SQL実行の比較
          • DescribeSessionStatsGroupBySqlId - SQL ID別に集計されたセッション統計情報を取得する
          • DescribeIndexes - インデックス情報のクエリ
          • DescribeOasHighRiskSQL - ハイリスクSQLのクエリ
        • セキュリティ管理
          • CreateSecurityIpGroup - インスタンスの許可リストグループを作成する
          • DescribeInstanceSSL - インスタンスのSSL設定情報を照会する
          • ModifyInstanceSSL - インスタンスのSSL設定を変更する
          • DescribeTenantEncryption - テナントの暗号化情報を照会する
          • ModifyTenantEncryption - テナントの透過的データ暗号化を有効にする
          • ModifySecurityIps - インスタンスの許可リスト内のIPリストを変更する
          • DeleteSecurityIpGroup - インスタンスの許可リストグループを削除する
          • DescribeTenantSecurityConfigs - テナントのセキュリティ設定検査
          • DescribeInstanceSecurityConfigs - クラスタのセキュリティ設定検査
        • タグ管理
          • DescribeTags - タグリストの取得
          • CreateTags - バッチでタグを作成する
          • UpdateTag - タグの更新
          • DeleteTag - タグの削除
        • 履歴イベント管理
          • DescribeOperationEvents - 過去のイベントを取得する
        • AI サービス管理
          • CreateAIServiceAPIKey - AI APIキーの作成
          • DeleteAIServiceAPIKey - AI APIキーの削除
          • ListAIServiceAPIKeys - APIキーの一覧を取得する
      • Open API よくある質問 FAQ
      • OceanBaseクラウドデータベースとOceanBase CloudのAPI比較
    • クライアントダウンロード
      • OceanBaseクライアント(OBClient)のダウンロード
      • JDBCドライバーのダウンロード
      • クライアント版ODCのダウンロード
      • ODBCドライバーのダウンロード
      • OBClient Libsドライバーのダウンロード
    • パフォーマンステスト
      • OceanBase Cloudのパフォーマンステスト - sysbenchテスト
      • OceanBase Cloudのパフォーマンステスト - TPCHテスト
      • OceanBase Cloudのパフォーマンステスト - TPCCテスト
    • モニタリング指標リファレンス
      • クラスタデータベース
      • クラスタホスト
      • Binlogサービス
      • クロスクラウドネットワークチャネル接続
      • パフォーマンスとSQL
      • トランザクション
      • ストレージとキャッシュ
      • プロキシデータベース
      • プロキシホスト
    • 開発者センター使用ガイド
      • プロダクト紹介
        • OceanBase Developer Centerについて
        • 制限事項
      • クイックスタート
        • デスクトップ版 ODC
          • クイックスタート
          • デスクトップ版ODCのインストール
          • デスクトップ版ODCの使用
        • Web 版 ODC
          • クイックスタート
          • Web版ODCの使用
      • データソース管理
        • データソースの作成
        • データソースとプロジェクトの連携
        • データベース運用保守
          • セッション管理
          • グローバル変数の管理
          • ごみ箱の管理
      • SQL 開発
        • SQLの編集と実行
        • PLコンパイルとデバッグ
        • 結果の編集とエクスポート
        • 実行分析
        • テストデータの生成
        • システム設定
        • データベースオブジェクト
          • テーブルオブジェクト
            • 概要
            • テーブルの作成
          • ビューオブジェクト
            • 概要
            • ビューの作成
            • ビューの管理
          • マテリアライズドビューオブジェクト
            • 概要
            • マテリアライズドビューの作成
            • マテリアライズドビューの管理
          • 関数オブジェクト
            • 概要
            • 関数の作成
            • 関数の管理
          • ストアドプロシージョブジェクト
            • 概要
            • ストアドプロシージャの作成
            • ストアドプロシージャの管理
          • シーケンスオブジェクト
            • 概要
            • シーケンスの作成
            • シーケンスの管理
          • パッケージオブジェクト
            • 概要
            • プログラムパッケージの作成
            • プログラムパッケージの管理
          • トリガーオブジェクト
            • 概要
            • トリガーの作成
            • トリガーの管理
          • タイプオブジェクト
            • 概要
            • タイプの作成
            • タイプの管理
          • シノニムオブジェクト
            • 概要
            • シノニムの作成
            • シノニムの管理
      • インポートとエクスポート
        • スキーマとデータのインポート
        • スキーマとデータのエクスポート
      • 変更リスク管理
        • ユーザー権限管理
          • ユーザーとロール
          • 自動権限付与
          • ユーザー権限管理
        • プロジェクトの協働管理
        • リスクレベル、リスク識別ルール、および承認プロセス
        • SQLチェック仕様
        • SQLウィンドウ規範
        • データベース変更管理
        • マルチデータベース変更管理
        • ロックフリースキーマ変更
        • シャドウテーブルの同期
        • 構造比較
      • データライフサイクル管理
        • パーティション計画管理
          • パーティション計画の管理
          • パーティション戦略の設定
          • パーティション戦略の使用例
        • SQLスケジュールタスク
      • データマスキングと監査
        • データマスキング
        • 操作監査
      • メッセージ通知管理
        • メッセージ通知の概要
        • プッシュ履歴の確認
        • 通知チャンネルの管理
          • プッシュチャネルの作成
          • プッシュチャネルの表示・編集・削除
          • カスタムチャネルの使用例
        • プッシュルールの管理
      • ベストプラクティス
        • SQL開発でよく使われるコツ
        • ODCチームスペースの魅力的な世界へようこそ
        • OceanBase APのリアルタイムSQL診断機能の解説
        • OceanBase履歴データソリューション
        • ODC SQLチェック仕様による高リスク操作の自動検出
        • ODCによるシャーディングデータベース・テーブルの管理と変更
        • データマスキングの管理と運用
        • エンタープライズレベルの管理・協働:データベースの変更を守るために
    • データ開発
      • 概要
      • ワークスペース管理
      • ワークブック管理
      • コンピューティングノードプール管理
      • タスクフローの管理
      • ダッシュボードの管理
      • Gitリポジトリ管理
      • SQL 開発
        • SQLの編集と実行
        • 結果セットの編集
        • 実行分析
        • データベースオブジェクト管理
          • テーブルの作成
          • ビューの作成
          • 関数の作成
          • ストアドプロシージャの作成
        • セッション変数の管理
        • Git統合
      • サンプルデータセットの紹介
      • OceanBase Cloud データ開発用語集
  • 課金管理
    • 費用概要の表示
    • 請求書の表示
      • 注文の確認
    • 月次請求書の表示
    • 支払い詳細の表示
    • AI サービス課金
      • 使用状況統計
      • API Keyの記録を見る
      • モデルレート
    • 支払い方法
      • バウチャーによる支払い
    • 請求書の管理
  • 関連規約
    • クラウドサービス契約
    • サービスレベル契約
    • データ処理に関する補遺
    • OceanBaseクラウド移行サービスに関するサービスレベル契約

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBase Cloud

SpringDataJPA による OceanBase Cloud への接続サンプルプログラム

最終更新:2026-09-30 10:37:21

前提条件
操作手順
ステップ1:OceanBase Cloudの接続文字列を取得する
ステップ2:java-oceanbase-springdatajpa プロジェクトをIDEAにインポートする
ステップ3:java-oceanbase-springdatajpa プロジェクトのデータベース接続情報を修正する
ステップ4:java-oceanbase-springdatajpa プロジェクトを実行する
よくある質問
1. 接続タイムアウト
2. 文字セットの問題
3. SSL接続
4. アカウントパスワードの特殊文字
プロジェクトコードについて
pom.xmlコードの紹介
application.ymlコードの紹介
userRepository.javaファイルの紹介
User.javaファイルの紹介
UserServiceImpl.javaファイルの紹介
UserService.javaファイルの紹介
TestSpringDataJpaApplication.javaファイルの紹介
TestSpringDataJpaApplicationTests.javaファイルの紹介
全コード表示
関連ドキュメント

本記事では、SpringDataJPAフレームワークとOceanBase Cloudを使用して、テーブルの作成、データの挿入、クエリなどの基本的な操作を実現するアプリケーションの構築方法を紹介します。

クリックしてjava-oceanbase-springdatajpaサンプルプロジェクトをダウンロード

前提条件

  • OceanBase Cloudデータベースアカウントに登録し、クラスタインスタンスとMySQL互換モードのテナントを作成していること。詳細については、クラスタインスタンスの作成およびテナントの作成をご参照ください。
  • JDK 1.8とMavenをインストール済みであること。
  • IntelliJ IDEAをインストール済みであること。

説明

このドキュメントでコードを実行するために使用したツールはIntelliJ IDEA 2021.3.2 (Community Edition)ですが、個人の好みに応じて適切なツールを選択してサンプルコードを実行することもできます。

操作手順

説明

本記事で示す操作手順は、Windows環境に基づいています。他のOS環境やコンパイラを使用している場合は、操作手順が若干異なる場合があります。

  1. OceanBase Cloudの接続文字列を取得します。
  2. java-oceanbase-springdatajpa プロジェクトをIDEAにインポートします。
  3. java-oceanbase-springdatajpa プロジェクトのデータベース接続情報を修正します。
  4. java-oceanbase-springdatajpa プロジェクトを実行します。

ステップ1:OceanBase Cloudの接続文字列を取得する

  1. OceanBase Cloudコンソールにログインします。インスタンスリストページで、対象インスタンスの情報を展開し、対象テナントで、接続 > 接続文字列を取得 を選択します。

    詳細な操作については、接続文字列の取得をご参照ください。

  2. 作成したOceanBase Cloudに基づいて、以下のURLの該当する情報を入力します。

    説明

    application.ymlファイルにこのURL情報が必要です。

    jdbc:oceanbase://host:port/schema_name?user=$user_name&password=$password&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
    

    パラメータ説明:

    • host:OceanBase Cloudの接続アドレスを指定します。例:t********.********.oceanbase.cloud

    • port:OceanBase Cloudの接続ポートを指定します。デフォルトは3306です。

    • schema_name:アクセスするスキーマ名です。

    • user_name:データベースにアクセスするアカウントを指定します。

    • password:アカウントのパスワードを指定します。

    • characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8:追加の接続プロパティです。

      • characterEncoding:データベースURLオプションでサポートされている文字エンコーディングです。デフォルト値はutf8です。
      • useSSL:接続時にSSL/TLSを強制的に使用するかどうかを指定します。デフォルト値はfalseです。
      • serverTimezone:サーバーのタイムゾーンを設定します。デフォルト値は中国標準時です。

その他のURLパラメータの説明については、データベースURLをご参照ください。

ステップ2:java-oceanbase-springdatajpa プロジェクトをIDEAにインポートする

  1. IntelliJ IDEAを開き、**File > Open...**オプションを選択します。

    file

  2. 表示されたOpen File or Projectウィンドウで、対応するプロジェクトファイルを選択し、OKをクリックしてプロジェクトファイルのインポートを完了します。

  3. IntelliJ IDEAは、プロジェクト内のさまざまなファイルの種類を自動的に認識し、Projectツールウィンドウで、プロジェクトのディレクトリ構造、ファイルリスト、モジュールリスト、依存関係などの情報を確認できます。Projectツールウィンドウは通常、IntelliJ IDEA画面の左側にあり、デフォルトでは開いています。Projectツールウィンドウが閉じている場合は、メニューバーのView > Tool Windows > Projectをクリックするか、ショートカットキーAlt + 1を使用して再表示できます。

    説明

    IntelliJ IDEAでプロジェクトをインポートすると、IntelliJ IDEAはプロジェクト内のpom.xmlファイルを自動的に検出し、ファイルに記述された依存関係に基づいて必要な依存ライブラリを自動的にダウンロードし、プロジェクトに追加します。

  4. プロジェクトの状況を確認します。

springdatajpa

ステップ3:java-oceanbase-springdatajpa プロジェクトのデータベース接続情報を修正する

ステップ1:OceanBase Cloud接続文字列を取得する の情報に基づいて、application.yml ファイル内のデータベース接続情報を修正します。

例:

  • データベースドライバーの名前:com.mysql.cj.jdbc.Driver
  • OBServerノードのIPアドレスはt5******.********.oceanbase.cloudです。
  • アクセスポートは3306を使用します。
  • アクセスするスキーマ名はtestです。
  • テナントの接続アカウントはmysql001です。
  • パスワードは******です。

サンプルコードは以下のとおりです:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://t5******.********.oceanbase.cloud:3306/test?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
    username: mysql001
    password: ******
    type: com.alibaba.druid.pool.DruidDataSource

ステップ4:java-oceanbase-springdatajpa プロジェクトを実行する

実行パス

  1. プロジェクト構造の src > test > java から TestSpringDataJpaApplicationTests.java ファイルを見つけます。
  2. ツールメニューバーで Run > Run... > TestSpringDataJpaApplicationTests.contextLoads を選択するか、右上の緑色の三角形を直接クリックして実行します。
  3. IDEAのコンソールでプロジェクトのログ情報と出力結果を確認します。

実行結果

User{id=1, username='insert1'}
User{id=2, username='update'}
User{id=3, username='insert3'}
User{id=4, username='insert4'}
User{id=5, username='insert5'}

よくある質問

1. 接続タイムアウト

接続タイムアウトの問題が発生した場合、JDBC URLに接続タイムアウトパラメータを設定できます。

jdbc:mysql://host:port/database?connectTimeout=30000&socketTimeout=60000

2. 文字セットの問題

正しい文字エンコーディングを確保するために、JDBC URLに正しい文字セットパラメータを設定します。

jdbc:mysql://host:port/database?characterEncoding=utf8&useUnicode=true

3. SSL接続

OceanBase CloudデータベースとのSSL接続を有効にするには、JDBC URLに以下のパラメータを追加します。

jdbc:mysql://host:port/database?useSSL=true&requireSSL=true

4. アカウントパスワードの特殊文字

ユーザー名またはパスワードに特殊文字(例:#)が含まれている場合は、URLエンコードが必要です。

String encodedPassword = URLEncoder.encode(password, "UTF-8");

注意

MySQL Connector/J 8.xを使用する場合は、アカウントのパスワードにシャープ記号(#)が含まれないようにしてください。含まれていると、接続エラーが発生する可能性があります。

プロジェクトコードについて

java-oceanbase-springdatajpa をクリックしてプロジェクトコードをダウンロードします。これは java-oceanbase-springdatajpa という名前の圧縮ファイルです。

解凍すると、java-oceanbase-springdatajpa という名前のフォルダが作成されます。ディレクトリ構造は以下のとおりです:

│--pom.xml
│
├─.idea
│
├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─oceanbase
│  │  │          └─testspringdatajpa
│  │  │              │--TestSpringDataJpaApplication.java
│  │  │              │
│  │  │              ├─dao
│  │  │              │   └─UserRepository.java
│  │  │              │
│  │  │              ├─entity
│  │  │              │   └─User.java
│  │  │              │
│  │  │              └─service
│  │  │                  │--UserService.java
│  │  │                  │
│  │  │                  └─impl
│  │  │                      └─--UserServiceImpl.java
│  │  │
│  │  └─resources
│  │      │--application.yml
│  │      │
│  │      ├─static
│  │      └─templates
│  └─test
│      └─java
│          └─com
│              └─oceanbase
│                  └─testspringdatajpa
│                      └─--TestSpringDataJpaApplicationTests.java
│
└─target

ファイルの説明:

  • pom.xml:Mavenプロジェクトの設定ファイルで、プロジェクトの依存関係、プラグイン、ビルドなどの情報が含まれます。
  • .idea:IDE(統合開発環境)で使用されるディレクトリで、プロジェクト関連の設定情報を格納します。
  • src:プロジェクトのソースコードを格納するディレクトリです。
  • main: 主要なソースコードとリソースファイルを格納するディレクトリ。
  • java: Javaソースコードを格納するディレクトリ。
  • com: Javaパッケージのルートディレクトリ。
  • oceanbase: プロジェクトのルートディレクトリ。
  • testspringdatajpa:プロジェクトのすべてのJavaクラスを含むJavaパッケージのルートディレクトリ。
  • TestSpringDataJpaApplication.java:Spring Bootアプリケーションのエントリクラス。
  • dao: データアクセスオブジェクト(Data Access Object)パッケージを格納するディレクトリで、データベースやその他のデータストレージサービスへのアクセスに使用されます。
  • UserRepository.java:ユーザーデータアクセスインターフェースで、ユーザーデータの追加、削除、変更、検索操作を定義します。
  • entity:エンティティクラスのディレクトリで、データベーステーブルに対応するJavaクラスを格納します。
  • User.java:ユーザー永続化オブジェクトで、ユーザーデータテーブルのフィールドをマッピングするために使用されます。
  • service:サービスインターフェースのディレクトリで、業務ロジックインターフェースを定義するために使用されます。
  • UserService.java:ユーザーサービスインターフェースで、ユーザーデータの操作メソッドを定義します。
  • impl:サービス実装のディレクトリで、業務ロジックの実装クラスを格納します。
  • UserServiceImpl.java:ユーザーサービスの実装クラスで、UserServiceインターフェースで定義されたメソッドを実装します。
  • resources: リソースファイルを格納するディレクトリで、設定ファイルやSQLファイルなどが含まれます。
  • application.yml:アプリケーションの設定ファイルで、データベース接続などの情報を設定するために使用されます。
  • static:CSSやJavaScriptなどの静的ファイルを格納するディレクトリ。
  • templates:HTMLテンプレートなどのテンプレートファイルを格納するディレクトリ。
  • test: テストコードとリソースファイルを格納するディレクトリ。
  • TestSpringDataJpaApplicationTests.java: Spring Data JPAに関連する機能の実行と検証に使用されるクラスを格納します。
  • target: コンパイル済みのClassファイルやJarパッケージなどのファイルを格納するディレクトリ。

pom.xmlコードの紹介

説明

例を確認するだけの場合は、デフォルトのコードをそのまま使用し、変更は不要です。以下の説明に従って、ご自身の要件に応じて pom.xml ファイルを変更することもできます。

pom.xml 設定ファイルの内容は以下のとおりです:

  1. ファイル宣言ステートメント。

    このファイルがXMLファイルであり、使用しているXMLバージョンが 1.0、文字エンコーディング方式が UTF-8 であることを宣言します。

    コード:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. POMの名前空間とPOMモデルバージョンの設定。

  3. xmlns を使用して、POMの名前空間を http://maven.apache.org/POM/4.0.0 に指定します。

  4. xmlns:xsi を使用して、XMLの名前空間を http://www.w3.org/2001/XMLSchema-instance に指定します。

  5. xsi:schemaLocation を使用して、POMの名前空間を http://maven.apache.org/POM/4.0.0、POMのXSDファイルの場所を https://maven.apache.org/xsd/maven-4.0.0.xsd と指定します。

  6. <modelVersion> 要素を使用して、このPOMファイルで使用するPOMモデルバージョンを 4.0.0 と指定します。

コード:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
  1. 親要素情報の設定。

  2. <groupId> を使用して、親要素の識別子を org.springframework.boot と指定します。

  3. <artifactId> を使用して、親要素の依存関係を spring-boot-starter-parent と指定します。

  4. <version> を使用して、親要素のバージョン番号を 2.7.0 と指定します。

  5. relativePath を使用して、親要素のパスが空であることを示します。

コード:

 <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>2.7.0</version>
     <relativePath/>
 </parent>
  1. 基本情報の設定。

  2. <groupId> を使用して、プロジェクト識別子を com.oceanbase と指定します。

  3. <artifactId> を使用して、プロジェクトの依存関係を java-oceanbase-springdatajpa と指定します。

  4. <version> を使用して、プロジェクトのバージョン番号を 0.0.1-SNAPSHOT と指定します。

  5. description を使用して、プロジェクト情報を Demo project for Spring Boot と紹介します。

コード:

 <groupId>com.oceanbase</groupId>
 <artifactId>java-oceanbase-springdatajpa</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <name>java-oceanbase-springdatajpa</name>
 <description>Demo project for Spring Boot</description>
  1. Javaバージョンの設定

    プロジェクトで使用するJavaバージョンを1.8に指定します。

    コード:

      <properties>
          <java.version>1.8</java.version>
      </properties>
    
  2. コア依存関係の設定

    1. 依存関係の所属組織をorg.springframework.boot、名前をspring-boot-starter-data-jpaに指定します。この依存ライブラリには、JPAを使用したデータアクセスに必要な依存関係と設定が含まれており、Spring Boot Starter Data JPAはSpring Bootのスターターです。

      コード:

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
      </dependency>
      
    2. 依存関係の所属組織をorg.springframework.boot、名前をspring-boot-starter-webに指定します。この依存ライブラリには、Spring Bootを使用したWeb開発に必要な依存関係と設定が含まれており、Spring Bootのスターターです。

      コード:

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      
    3. 依存関係の所属組織をorg.springframework.boot、名前をspring-boot-starter-test、スコープをtestに指定します。この依存関係により、JUnit、Mockito、Hamcrestなど、Spring Bootが提供するテストフレームワークとツールを使用できます。

      コード:

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-test</artifactId>
          <scope>test</scope>
      </dependency>
      
    4. 依存関係の所属組織をcom.alibaba、名前をdruid、バージョン番号を1.2.8に指定します。この依存関係により、Druidライブラリを使用して、データベース接続の取得と解放を管理・最適化できます。

      コード:

      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid</artifactId>
          <version>1.2.8</version>
      </dependency>
      
    5. 依存関係の所属組織をcom.oceanbase、名前をoceanbase-client、バージョン番号を2.4.2に指定します。この依存関係により、OceanBaseが提供するクライアント機能(接続、クエリ、トランザクションなど)を使用できます。

      コード:

          <dependencies>
          <dependency>
              <groupId>com.oceanbase</groupId>
              <artifactId>oceanbase-client</artifactId>
              <version>2.4.2</version>
          </dependency>
          </dependencies>
      
  3. Mavenプラグインの設定

    依存関係の所属組織をorg.springframework.boot、名前をspring-boot-maven-pluginに指定します。このプラグインは、Spring Bootアプリケーションを実行可能なJARパッケージまたはWARパッケージにパッケージ化し、直接実行するために使用されます。他のプラグインやツールとの競合を避けるため、ビルドプロセスでLombok依存関係を追加します。

    コード:

     <build>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
                 <configuration>
                     <excludes>
                         <exclude>
                             <groupId>org.projectlombok</groupId>
                             <artifactId>lombok</artifactId>
                         </exclude>
                     </excludes>
                 </configuration>
             </plugin>
         </plugins>
     </build>
    

application.ymlコードの紹介

application.yml ファイルは、Spring Bootアプリケーションの設定ファイルであり、いくつかの重要なパラメータが含まれています。アプリケーションのコンテキストパス、リスニングポート番号、データベース接続情報、およびJPA関連のプロパティを設定します。

application.yml ファイルのコードは、主に以下の部分で構成されています:

  • Server パート

    • servlet:Servlet関連のプロパティを設定するために使用されます。
    • context-path:アプリケーションのコンテキストパスを testspringdatajpa と指定します。
    • port:アプリケーションがリスニングするポート番号を8890と指定します。

    コード:

    server:
    servlet:
        context-path: /testspringdatajpa
    port: 8890
    
  • Spring パート

    • datasource:データソース関連のプロパティ、すなわちデータベース接続情報を設定するために使用されます。

      • driver-class-name:データベースドライバーのクラス名を com.mysql.cj.jdbc.Driver と指定します。
      • url:データベースの接続URLを指定します。これには、データベースのアドレス、ポート番号、データベース名などの情報が含まれます。
      • username:データベースに接続するためのユーザー名を指定します。
      • password:データベースに接続するためのパスワードを指定します。
      • type:データソースとしてDruid接続プールを使用することを指定します。

      コード:

      spring:
      datasource:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://host:port/schema_name?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
          username: user_name
          password: ******
          type: com.alibaba.druid.pool.DruidDataSource
      
    • JPA パート

      • hibernate:Hibernate関連のプロパティを設定するために使用されます。
        • ddl-auto:Hibernateが起動時にデータベース構造を自動更新するモードを update と指定します。
        • show-sql:コンソールにSQLステートメントを出力するかどうかを指定します。値は true です。
        • format-sql:出力されるSQLステートメントをフォーマットするかどうかを指定します。値は true です。
      • open-in-view:Open-in-View モードを有効にするかどうかを指定します。値は false です。

      コード:

      jpa:
          hibernate:
          ddl-auto: update
          show-sql: true
          format-sql: true
          open-in-view: false
      

userRepository.javaファイルの紹介

userRepository.java ファイルは、DAOインターフェースを通じて、ユーザーエンティティ(User)に対するデータベース操作のメソッドを定義するために使用されます。SQLステートメントとHQLステートメントを使用したカスタムの更新およびクエリメソッドが含まれています。

userRepository.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースのインポート。

    このファイルには以下のインターフェースとクラスが含まれていることを宣言します:

    • User クラス:サービスクラスでユーザーオブジェクトを操作および処理するために使用されます。
    • JpaRepository インターフェース:このインターフェースを継承して、基本的なCRUD操作メソッドを取得するために使用されます。
    • Modifying アノテーション:変更操作を行うメソッドをマークするために使用されます。
    • Query アノテーション:カスタムクエリメソッドを定義するために使用されます。
    • Param アノテーション:メソッドパラメータとクエリステートメント内のパラメータをマッピングするために使用されます。
    • Repository アノテーション:DAOインターフェースをSpringのリポジトリコンポーネントとしてマークするために使用されます。

    コード:

    import com.oceanbase.testspringdatajpa.entity.User;
    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.data.jpa.repository.Modifying;
    import org.springframework.data.jpa.repository.Query;
    import org.springframework.data.repository.query.Param;
    import org.springframework.stereotype.Repository;
    
  2. UserRepository インターフェースを定義します。

    UserRepository インターフェースは、ユーザーデータへのアクセスに使用されます。Springの Repository コンポーネントとしてマークされ、bean の名前を userRepository と指定します。

    1. @Query アノテーションを使用してSQLステートメントを指定し、nativeQuery = true を使用してネイティブSQLステートメントを実行します。
    2. @Modifying アノテーションを使用してカスタム更新メソッドを定義し、ネイティブSQLステートメントを使用して更新操作を行います。
    3. @Query アノテーションを使用してHQL(Hibernate Query Language)ステートメントを指定し、@Param アノテーションを使用してメソッドパラメータとHQLステートメント内のパラメータをマッピングします。

    コード:

    @Repository("userRepository")
    public interface UserRepository extends JpaRepository<User, Integer> {
    
        @Query(value = "update test_springdatajpa_2 set username=?1 where id=?2", nativeQuery = true)
        @Modifying
        int updateById(String name, String id);
    
        @Query("SELECT u FROM User u WHERE u.username = :username")
        User findUser(@Param("username") String username);
    }
    

User.javaファイルの紹介

User.java ファイルは、ユーザーオブジェクトを表す User クラスを定義します。

User.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスのインポート。 javax.persistence.*:javax.persistence パッケージ内のすべてのクラスをインポートするために使用されます。javax.persistence はJava Persistence API(JPA)の標準パッケージであり、オブジェクト関係マッピング(ORM)を行うための一連のインターフェースとアノテーションを提供します。

    コード:

    import javax.persistence.*;
    
  2. User オブジェクトの定義。 JPAアノテーションを使用して、エンティティクラスとテーブルのマッピング関係を識別します。これには、テーブル名、主キー、フィールド名などが含まれます。 @Entity アノテーションを使用してこのクラスをエンティティクラスとしてマークし、@Table アノテーションで対応するデータベーステーブル名を指定します。@Id アノテーションでエンティティクラスの主キーをマークし、@GeneratedValue アノテーションで主キーの生成戦略を指定します。@Column アノテーションは、フィールド名と制約条件を指定するために使用されます。このクラスには id と username の2つのプロパティがあり、それぞれユーザーの一意の識別子とユーザー名を表します。また、空の User オブジェクトを作成するためのデフォルトコンストラクタも提供されています。

    コード:

    @Entity
    @Table(name = "test_springdatajpa_2")
    public class User {
        @Id
        @GeneratedValue(strategy = GenerationType.TABLE)
        @Column(name = "id", nullable = false)
        private Integer id;
    
        @Column(name = "username")
        private String username;
    
        public User() {
        }
    }
    
  3. id と name の値の取得と設定。 このエンティティクラスには、パラメータ付きコンストラクタが提供されており、エンティティクラスオブジェクトを作成して id と username プロパティを初期化するために使用されます。 id と name プロパティの値を取得および設定するための4つのメソッドが定義されています。

    • getId メソッドは id 値を取得するために使用されます。
    • setId メソッドは id 値を設定するために使用されます。
    • getName メソッドはユーザー名 name の値を取得するために使用されます。
    • setName メソッドはユーザー名 name の値を設定するために使用されます。

    コード:

    
    public User(Integer id, String username) {
        this.id = id;
        this.username = username;
    }
    
    public Integer getId() {
        return id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    
    public String getUsername() {
        return username;
    }
    
    public void setUsername(String username) {
        this.username = username;
    }
    
  4. User オブジェクトの文字列表現を返す。

    User クラスの toString メソッドをオーバーライドして、User オブジェクトの文字列表現を返すようにします。 @Override を定義して、親クラスの同名メソッドをオーバーライドします。toString メソッドを定義して、User オブジェクトの文字列表現を返すために使用します。文字列連結を使用して、id と name プロパティの値を文字列としてフォーマットし、呼び出し元の User に返します。

    コード:

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                '}';
    }
    

UserServiceImpl.javaファイルの紹介

UserServiceImpl.java ファイルは、JPAを使用してデータベースを操作し、ユーザーデータの追加、削除、変更、検索を行います。

UserServiceImpl.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースのインポート。

    このファイルには以下のインターフェースとクラスが含まれていることを宣言します:

    • UserRepository クラス:サービスクラスでデータアクセスオブジェクト(DAO)に定義されたメソッドを注入および呼び出すために使用されます。
    • User クラス:サービスクラスでユーザーオブジェクトを操作および処理するために使用されます。
    • UserService クラス:他のクラスでサービスクラスに定義されたメソッドを注入および呼び出すために使用されます。
    • Autowired アノテーション:依存オブジェクトの自動注入を行うために使用されます。
    • Page クラス:ページネーションクエリ結果のカプセル化に使用されます。
    • PageRequest クラス:ページネーションリクエストオブジェクトを作成するために使用されます。
    • Pageable インターフェース:ページネーションリクエストを定義するためのインターフェースです。
    • Sort クラス:ソートルールを定義するために使用されます。
    • Service アノテーション:クラスをサービスクラスとしてマークするために使用されます。
    • Transactional アノテーション:トランザクションメソッドをマークするために使用されます。
    • Iterator クラス:コレクションを走査するために使用されます。
    • Optional クラス:NULLの可能性のあるオブジェクトを処理するために使用されます。

    コード:

    import com.oceanbase.testspringdatajpa.dao.UserRepository;
    import com.oceanbase.testspringdatajpa.entity.User;
    import com.oceanbase.testspringdatajpa.service.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.PageRequest;
    import org.springframework.data.domain.Pageable;
    import org.springframework.data.domain.Sort;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    import java.util.Iterator;
    import java.util.Optional;
    
  2. UserServiceImpl クラスは、UserService インターフェースで宣言されたメソッドを実装しています。

    UserRepository を依存注入することで、データベースへのアクセスを実現します。具体的には、ユーザーデータの挿入、削除、更新、およびクエリのメソッドを実装し、ページネーションクエリをサポートしています。@Transactional アノテーションを使用してトランザクションサポートを有効にし、データベース操作がトランザクション内で実行されることを保証します。

    1. UserRepository プロパティの構築。 プライベートな UserRepository プロパティを定義し、コンストラクタに @Autowired アノテーションを使用して依存注入を行います。コンストラクタで UserRepository 依存関係を注入し、userRepository プロパティを使用してユーザーデータにアクセスおよび操作します。

      コード:

      private final UserRepository userRepository;
      
      @Autowired
      public UserServiceImpl(UserRepository userRepository) {
          this.userRepository = userRepository;
      }
      
    2. ユーザーデータの挿入。 insertUser メソッドは User オブジェクトをパラメータとして受け取り、UserRepository の save メソッドを呼び出して、ユーザーオブジェクトをデータベースに保存します。

      コード:

      @Override
      public void insertUser(User user) { userRepository.save(user); }
      
    3. ユーザーデータの削除。 deleteUser メソッドでは、UserRepository の existsById メソッドを呼び出して、指定されたIDのユーザーが存在するかどうかを判断します。存在する場合は削除操作を行い、存在しない場合はそのまま返します。

      コード:

      @Override
      public void deleteUser(Integer id) {
          if (!userRepository.existsById(id)) {
              return;
          }
      }
      
    4. ユーザーデータの更新。 updateUser メソッドでは、UserRepository の save メソッドを呼び出して、ユーザーオブジェクトをデータベースに保存し、更新操作を実装します。同時に、更新操作が成功したことを示す整数値 1 を返します。 また、ユーザー名と id に基づいてユーザーデータを更新するメソッドもあります。これは UserRepository の updateById メソッドを呼び出して更新操作を実装し、更新結果を返します。

      コード:

      @Override
      public int updateUser(User user) {
          userRepository.save(user);
          return 1;
      }
      
      //update based on name and id
      @Override
      public int updateUserById(String name, String id) {
          return userRepository.updateById(name, id);
      }
      
    5. ユーザーデータのクエリ。

      1. ID に基づいてユーザーデータをクエリします。 selectUserById メソッドでは、UserRepository の findById メソッドを呼び出してユーザーデータを取得し、結果を Optional オブジェクトに格納します。次に、Optional の orElse メソッドを呼び出して Optional オブジェクト内の値を取得し、それを user 変数に代入します。最後に、クエリしたユーザーオブジェクトを返します。
      2. ユーザー名に基づいてユーザーデータをクエリします。 selectUserByName メソッドでは、UserRepository の findUser メソッドを呼び出してユーザー名に基づいてユーザーデータをクエリし、クエリしたユーザーオブジェクトを直接返します。

      コード:

      @Override
      public User selectUserById(Integer id) {
          Optional<User> optional = userRepository.findById(id);
          User user = optional.orElse(null);
          return user;
      }
      @Override
      public User selectUserByName(String username) {
          return userRepository.findUser(username);
      }
      
    6. すべてのユーザーデータのページネーションクエリ。 selectUserAll メソッドでは、Sort オブジェクトを作成してソート規則を指定し、Pageable オブジェクトを作成してページネーションパラメータを指定します。その後、UserRepository の findAll メソッドを呼び出してユーザーデータをクエリし、Page オブジェクトを返します。さらに、Page オブジェクトの iterator メソッドを呼び出してユーザーデータのイテレーターを取得します。最後に、ユーザーデータのイテレーターを返します。

      コード:

      @Override
      public Iterator<User> selectUserAll(Integer pageNum, Integer pageSize) {
          Sort sort = Sort.by(Sort.Direction.ASC, "id");
          Pageable pageable = PageRequest.of(pageNum, pageSize, sort);
          Page<User> users = userRepository.findAll(pageable);
          Iterator<User> userIterator = users.iterator();
          return userIterator;
      }
      

UserService.javaファイルの紹介

UserService.java ファイルは、JPAを使用してデータベースを操作し、ユーザーデータの追加、削除、更新、クエリを行います。

UserService.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースのインポート。

    このファイルには以下のクラスが含まれていることを宣言します:

    • User クラス:サービスクラスでユーザーオブジェクトを操作および処理するために使用されます。
    • Iterator クラス:コレクションを走査するために使用されます。

    コード:

    import com.oceanbase.testspringdatajpa.entity.User;
    
    import java.util.Iterator;
    
  2. UserService インターフェースの定義。 UserService インターフェースを通じて、ユーザーデータの挿入、削除、更新、クエリを行うメソッドを定義します。以下のメソッドとクラスが含まれます:

    • insertUser メソッド:ユーザーデータを挿入するために使用されます。

    • deleteUser メソッド:ユーザーデータを削除するために使用されます。

    • updateUser メソッド:ユーザーデータを更新するために使用されます。

    • updateUserById メソッド:id に基づいてユーザーの name を変更するために使用されます。

    • selectUserById メソッド:id に基づいてユーザーデータをクエリするために使用されます。

    • selectUserByName メソッド:ユーザー名に基づいてユーザーデータをクエリするために使用されます。

    • selectUserAll メソッド:すべてのユーザーデータをページネーションクエリするために使用されます。

    • User クラス:サービスクラスでユーザーオブジェクトを操作および処理するために使用されます。

    • Iterator クラス:コレクションを走査するために使用されます。

    コード:

    public interface UserService {
        void insertUser(User user);
    
        void deleteUser(Integer id);
    
        int updateUser(User user);
    
        int updateUserById(String name, String id);
    
        User selectUserById(Integer id);
    
        User selectUserByName(String username);
        Iterator<User> selectUserAll(Integer pageNum, Integer pageSize);
    }
    

TestSpringDataJpaApplication.javaファイルの紹介

TestSpringDataJpaApplication.java ファイルは、Spring Bootアプリケーションを起動および設定するために使用されます。

TestSpringDataJpaApplication.java ファイルのコードは、主に以下の部分で構成されています:

  1. クラスとインターフェースの定義 このファイルには以下のクラスが含まれていることを宣言します:
  • SpringApplication クラス:Spring Bootアプリケーションを起動するために使用されます。
  • @SpringBootApplication アノテーション:Spring Bootアプリケーションのエントリクラスをマークするために使用されます。
**コード:**

```java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
```
  1. TestSpringDataJpaApplication クラスの定義 @SpringBootApplication アノテーションを使用してSpring Bootアプリケーションのエントリクラスをマークし、main メソッド内で SpringApplication.run メソッドを呼び出してアプリケーションを起動します。

    コード:

    @SpringBootApplication
    public class TestSpringDataJpaApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(TestSpringDataJpaApplication.class, args);
        }
    }
    

TestSpringDataJpaApplicationTests.javaファイルの紹介

TestSpringDataJpaApplicationTests.java ファイルは、Spring Bootアプリケーションを起動および設定するために使用されます。

TestSpringDataJpaApplicationTests.java ファイルのコードは、主に以下の部分で構成されています:

  1. 他のクラスとインターフェースのインポート このファイルには以下のクラスが含まれていることを宣言します:
  • User クラス:サービスクラスでユーザーオブジェクトを操作および処理するために使用されます。
  • UserService クラス:他のクラスで注入し、サービスクラスで定義されたメソッドを呼び出すために使用されます。
  • @Test アノテーション:テストメソッドをマークするために使用されます。
  • Autowired アノテーション:依存オブジェクトを自動注入するために使用されます。
  • @SpringBootTest アノテーション:Spring Bootアプリケーションをテストするために使用されます。
  • Iterator クラス:コレクションを走査するために使用されます。
**コード:**

```java
import com.oceanbase.testspringdatajpa.entity.User;
import com.oceanbase.testspringdatajpa.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Iterator;
```
  1. UserService メソッドの定義 Spring Bootアプリケーション内の UserService サービスの各メソッドをテストするために使用されます。UserService 依存関係を注入し、各メソッドを呼び出してユーザーデータの挿入、削除、更新、およびクエリ機能をテストし、関連する結果を出力します。

  2. @Autowired アノテーションによる依存性注入。 UserService インターフェースの実装クラスを userService 変数に自動注入します。

    コード:

    @Autowired
    private UserService userService;
    
  3. contextLoads メソッドを使用してテストします。

    1. ユーザーデータの挿入。 for ループを使用し、userService の insertUser メソッドを呼び出して、10件のユーザーデータを挿入します。

    コード:

      ```java
      for (int i = 1; i <= 10; i++) {
          userService.insertUser(new User(i, "insert" + i));
      }
      ```
    
    1. ユーザーデータの削除。 userService の deleteUser メソッドを呼び出し、idが1のユーザーデータを削除します。

    コード:

      ```java
      userService.deleteUser(1);
      ```
    
    1. ユーザーデータの更新。 userService の updateUser メソッドを呼び出し、idが2のユーザーデータを更新します。

    コード:

      ```java
      userService.updateUser(new User(2, "update"));
      ```
    
    1. ユーザーデータのクエリ。
    • userService の selectUserById メソッドを呼び出し、idに基づいてユーザーデータをクエリし、結果を user 変数に代入します。user オブジェクトを出力します。
    • userService の selectUserByName メソッドを呼び出し、ユーザー名に基づいてユーザーデータをクエリし、結果を userByName 変数に代入します。userByName オブジェクトを出力します。

    コード:

      ```java
      User user = userService.selectUserById(2);
      System.out.println("user = " + user);
      User userByName = userService.selectUserByName("insert");
      System.out.println("userByName = " + userByName);
      ```
    
    1. ユーザーデータのページネーションクエリ。 userService の selectUserAll メソッドを呼び出し、すべてのユーザーデータをページネーションでクエリし、結果を userIterator 変数に代入します。forEachRemaining メソッドを使用して userIterator をイテレーションし、各ユーザーオブジェクトを出力します。

    コード:

      ```java
      Iterator<User> userIterator = userService.selectUserAll(0, 5);
      userIterator.forEachRemaining(System.out::println);
      ```
    

全コード表示

pom.xml
application.yml
userRepository.java
User.java
UserServiceImpl.java
UserService.java
TestSpringDataJpaApplication.java
TestSpringDataJpaApplicationTests.java
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.oceanbase</groupId>
    <artifactId>java-oceanbase-springdatajpa</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>java-oceanbase-springdatajpa</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.8</version>
        </dependency>

        <dependency>
            <groupId>com.oceanbase</groupId>
            <artifactId>oceanbase-client</artifactId>
            <version>2.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
server:
  servlet:
    context-path: /testspringdatajpa
  port: 8890

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:oceanbase://host:port/schema_name?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
    username: user_name
    password: ******
    type: com.alibaba.druid.pool.DruidDataSource
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    format-sql: true
    open-in-view: false
package com.oceanbase.testspringdatajpa.dao;

import com.oceanbase.testspringdatajpa.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;


@Repository("userRepository")
public interface UserRepository extends JpaRepository<User, Integer> {
    //Custom repository handwritten SQL, placeholder value transfer form
    @Query(value = "update test_springdatajpa_2 set username=?1 where id=?2", nativeQuery = true)
    @Modifying
    int updateById(String name, String id);

    //SPEL expression, hql syntax
    @Query("SELECT u FROM User u WHERE u.username = :username")
    User findUser(@Param("username") String username);//Mapping parameter username to database field username
}
package com.oceanbase.testspringdatajpa.entity;

import javax.persistence.*;

@Entity
@Table(name = "test_springdatajpa_2")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)

    @Column(name = "id", nullable = false)
    private Integer id;

    @Column(name = "username")
    private String username;

    public User() {
    }

    public User(Integer id, String username) {
        this.id = id;
        this.username = username;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                '}';
    }
}
package com.oceanbase.testspringdatajpa.service.impl;

import com.oceanbase.testspringdatajpa.dao.UserRepository;
import com.oceanbase.testspringdatajpa.entity.User;
import com.oceanbase.testspringdatajpa.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Iterator;
import java.util.Optional;


@Transactional
@Service("userService")
public class UserServiceImpl implements UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserServiceImpl(UserRepository userRepository) {
        this.userRepository = userRepository;
    }


    //insert
    @Override
    public void insertUser(User user) { userRepository.save(user); }

    //delete
    @Override
    public void deleteUser(Integer id) {
        if (!userRepository.existsById(id)) {
            return;
        }
    }

    //update
    @Override
    public int updateUser(User user) {
        userRepository.save(user);
        return 1;
    }

    //update based on name and id
    @Override
    public int updateUserById(String name, String id) {
        return userRepository.updateById(name, id);
    }

    // select one user
    @Override
    public User selectUserById(Integer id) {
        Optional<User> optional = userRepository.findById(id);
        User user = optional.orElse(null);
        return user;
    }

    //query user based on username
    @Override
    public User selectUserByName(String username) {
        return userRepository.findUser(username);
    }


    @Override
    public Iterator<User> selectUserAll(Integer pageNum, Integer pageSize) {
        //By passing parameters to this method, physical pagination can be achieved, which is very simple.
        Sort sort = Sort.by(Sort.Direction.ASC, "id");
        Pageable pageable = PageRequest.of(pageNum, pageSize, sort);
        Page<User> users = userRepository.findAll(pageable);
        Iterator<User> userIterator = users.iterator();
        return userIterator;
    }
}
package com.oceanbase.testspringdatajpa.service;

import com.oceanbase.testspringdatajpa.entity.User;

import java.util.Iterator;



public interface UserService {
    //insert
    void insertUser(User user);

    //delete
    void deleteUser(Integer id);

    //update
    int updateUser(User user);

    //customize SQL and modify name based on id
    int updateUserById(String name, String id);

    //select one user
    User selectUserById(Integer id);

    //customize SQL to query users based on username
    User selectUserByName(String username);

    //query all users
    Iterator<User> selectUserAll(Integer pageNum, Integer pageSize);
}
package com.oceanbase.testspringdatajpa;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;



@SpringBootApplication
public class TestSpringDataJpaApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestSpringDataJpaApplication.class, args);
    }

}
package com.oceanbase.testspringdatajpa;

import com.oceanbase.testspringdatajpa.entity.User;
import com.oceanbase.testspringdatajpa.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Iterator;


@SpringBootTest
class TestSpringDataJpaApplicationTests {
    @Autowired
    private UserService userService;

    @Test
    void contextLoads() {
        //insert
        for (int i = 1; i <= 10; i++) {
            userService.insertUser(new User(i, "insert" + i));
        }
        //delete
        userService.deleteUser(1);
        //update
        userService.updateUser(new User(2, "update"));
        //selectUserById
        User user = userService.selectUserById(2);
        System.out.println("user = " + user);
        //selectUserByName
        User userByName = userService.selectUserByName("insert");
        System.out.println("userByName = " + userByName);
        //query all users
        Iterator<User> userIterator = userService.selectUserAll(0, 5);
        userIterator.forEachRemaining(System.out::println);
    }
}

関連ドキュメント

OceanBase Connector/Jの詳細については、OceanBase JDBCドライバをご参照ください。

前のトピック

Spring JDBCによるOceanBase Cloudデータベース接続サンプルプログラム
前へ

次のトピック

HibernateによるOceanBase Cloudデータベース接続サンプルプログラム
次へ
このページの内容
前提条件
操作手順
ステップ1:OceanBase Cloudの接続文字列を取得する
ステップ2:java-oceanbase-springdatajpa プロジェクトをIDEAにインポートする
ステップ3:java-oceanbase-springdatajpa プロジェクトのデータベース接続情報を修正する
ステップ4:java-oceanbase-springdatajpa プロジェクトを実行する
よくある質問
1. 接続タイムアウト
2. 文字セットの問題
3. SSL接続
4. アカウントパスワードの特殊文字
プロジェクトコードについて
pom.xmlコードの紹介
application.ymlコードの紹介
userRepository.javaファイルの紹介
User.javaファイルの紹介
UserServiceImpl.javaファイルの紹介
UserService.javaファイルの紹介
TestSpringDataJpaApplication.javaファイルの紹介
TestSpringDataJpaApplicationTests.javaファイルの紹介
全コード表示
関連ドキュメント