データベースのバッチ挿入は本当にこれだけの工夫が必要なのか?

最近のプロジェクトで様々な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 投稿