データベースのバッチ挿入は本当にこれだけの工夫が必要なのか?
最近のプロジェクトで様々なinsertBatchのコードを書いてきましたが、いつも「バッチ挿入はループ挿入よりずっと効率的だ」と言われます。そこで今回は、本当にそうなのかを検証してみましょう。
テスト環境:
SpringBoot 2.5
Mysql 8
JDK 8
Docker
まず、複数データの挿入には以下の選択肢があります:
foreachループによる挿入
SQLを結合して一度に実行
バッチ処理機 ...
7月7日 16:00 投稿
MyBatisの動作原理と内部構造の解析
MyBatisは優れた永続層フレームワークであり、カスタムSQL、ストアドプロシージャ、高度なマッピングをサポートしています。JDBCコードのほとんどすべてと手動パラメータ設定、結果取得を回避し、XMLまたはアノテーションで設定を管理します。
@Slf4j
public class MyBatisExample {
@Test
public void verifyCache() throws IOException {
String configPath = ...
7月3日 18:45 投稿
Javaエンタープライズ開発における一般的な例外とその解決策
1. Hibernate名前空間の廃止警告 (HHH90000012)
アプリケーション起動時に「Recognized obsolete hibernate namespace」という警告が表示される場合、Hibernateのマッピングファイル(.hbm.xml)で古いDTD定義が使用されています。これを修正するには、XMLヘッダーの宣言を現在の標準的な名前空間に更新する必要があります。
<!-- 修正前 (非推奨) -->
<!DOCTYPE ...
7月2日 20:31 投稿
Spring Boot、MyBatis、Phoenix連携時のケースセンシティブに関する問題と解決策
シナリオ:
Phoenixを使用してクエリサービスを構築し、サーバー側にインターフェースを提供する必要がありました。
設計:
Spring BootでRESTful APIを公開し、MyBatisでPhoenixのSQL処理を行うため、Spring Boot + MyBatis + Phoenixの統合方案を採用しました。
しかし、ここで重大な問題が発生しました!
シナリオの詳細:
ネットワークタクシーの予約単クエリ処 ...
6月30日 20:08 投稿
Vue.jsとSpring Bootを用いた冷蔵倉庫在庫管理システムの実装
技術スタック
バックエンドフレームワーク: Spring Boot
Spring Bootは、独立した、生産環境に耐えうるSpringベースのアプリケーションを構築するためのフレームワークです。その主な目的は、Springアプリケーションの開発プロセスを簡素化し、すぐに使える機能を提供しながら、コアの強力さと柔軟性を維持することにあります。
Spring Bootは、自動設定と「設定より規約 ...
6月28日 21:55 投稿
JavaとVueを用いたキャンパス学生アルバイト管理システムの実装
技術スタック
バックエンドフレームワークSpring Boot
Spring Bootは、独立した、本番環境対応のSpringベースのアプリケーションを構築するためのフレームワークです。主な目標は、Springアプリケーションの開発プロセスを簡素化し、すぐに使える機能を提供しながら、コアの強力さと柔軟性を維持することです。
Spring Bootは、自動設定と設定より規約の原則を通じて ...
6月28日 21:37 投稿
MyBatisインターセプターによるパラメータオブジェクトのプロパティ設定
MyBatisのmapper.xmlファイルでは、#{}や${}を使用してパラメータを取得します。これらのパラメータは事前にmapper.javaインターフェースファイルで指定する必要があります。
パラメータを拡張するためには、MyBatisがどのようにmapper.javaからパラメータを受け取っているか理解することが重要です。
Executor.javaインターフェースのqueryメソッドを覗くと、最初の引数で ...
6月28日 20:15 投稿
Springフルアノテーション開発ガイド
アノテーション駆動の意義と落とし穴
アノテーション駆動とは、XML の冗長な記述を Java のメタデータで置き換える手法である。設定ファイルが消滅し、IDE の補完やリファクタリング恩恵を受けられる一方、次のようなトレードオフもある。
単純な定義ほどコードが膨張しがち
外部ライブラリの Bean を登録する際、ソース修正ができないため専用のファクトリメソッドが必要 ...
6月28日 18:26 投稿
Spring BootとVueを使用したコミュニティ健康コード管理システム(フロントエンドとバックエンドの分離)
プロジェクト概要
本システムは2022年11月に開発された、フロントエンドとバックエンドが分離された構成の健康コード管理システムです。コード構造が整然としており、ドキュメントも完備されているため、疫病予防、健康コード管理、コミュニティ疫病対策などのテーマに適しています。システムはSpring BootとVueを統合して開発され、フロントエンドは主にelement-uiフレー ...
6月27日 23:56 投稿
Java Spring Boot 開発における注意点と解決策
2019年2月19日 19:25:42
バージョン:2.1.3.RELEASE
1. ローカル開発環境のホットリロード設定
開発中の自動リロード機能を有効化するための依存関係:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
...
6月27日 21:43 投稿