Spring Boot と Vue.js を採用した WeChat 向け新生入学登録システムの実装ガイド

システム概要と技術スタック 本プロジェクトは、WeChat ミニプログラムを介して大学生の入学手続きを管理するための包括的なシステムです。バックエンドには高速な開発が可能な Spring Boot を採用し、フロントエンドにはコンポーネント指向の Vue.js を使用しています。データアクセス層では MyBatis を活用し、MySQL をデータベースとして選定しています。 1. バックエ ...

6月3日 20:23 投稿

Spring BootとMyBatisを用いたショッピングカート機能の実装

ショッピングカートの追加処理 ユーザーが商品をカートに追加する操作を実装するため、まずデータ転送オブジェクト(DTO)を定義します。このオブジェクトは、料理ID、セットメニューID、および料理の風味情報を受け取るために使用されます。 @Data public class CartItemAddRequest implements Serializable { private Long dishId; private Long m ...

6月3日 19:49 投稿

MyBatisにおける#{}と${}の違いとSQLインジェクション対策

MyBatisでSQLマップを使用してクエリを実行する際、動的にパラメータを渡す必要があることがよくあります。例えば、以下のようなSQL文があります: SELECT * FROM users WHERE user_id = #{userId} AND user_name = '${userName}' 動的SQLの解析段階において、#{ }と${ }は異なる挙動を示します: #{ }はJDBCのプリペアドステートメント(prepared statement)のパラメー ...

6月1日 23:31 投稿

Java 学習ノート 第1回

@MapperScanアノテーションを利用するには、pom.xmlに以下のような依存関係を追加する必要があります。 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.0</version> </dependency> @Mapperアノテーションを使用する場合も同様に、MyBatisの依存関係 ...

6月1日 22:22 投稿

SSHフレームワークのコントロール層構築

SSHフレームワークのコントロール層構築 1、コントロール層にPOと同等のVOオブジェクトを作成する package com.caicai.elec.contorl.vo; /* * VOは値オブジェクトであり、ページのプロパティ値に対応する * * VOオブジェクトとPOの共通点と相違点 * * 共通点:どちらもJavaBeanオブジェクトである * 相違点:POオブジェクトのプロパティ関係はデータベースフィー ...

6月1日 22:15 投稿

Java開発環境構築とSpring Bootプロジェクト設定ガイド

推奨リンク ---- リンク目次 Java環境構築 JDKインストール手順 Oracle公式サイトから最新の安定版JDKをダウンロードしてください JDKインストール後、JAVA_HOMEという環境変数を設定し、JDKのインストールパスを指すようにします。例えば:C:\Program Files\Java\jdk\jdk-21 (注:jdkとjdk-21は異なるバージョン管理のために作成したフォルダです) 次に、JAVA_HOME ...

6月1日 21:52 投稿

Spring Bootプロジェクトの作成と検索機能の実装(IntelliJ IDEA 2021使用)

1. Spring Bootプロジェクトの新規作成 IntelliJ IDEA 2021を使用してSpring Bootプロジェクトを新規作成します。プロジェクト作成後、必ず設定画面から自身がインストールしたMavenを指定してください。 2. データベース準備 MySQLデータベースを使用し、成語辞書用のテーブルを作成します。 CREATE TABLE idioms ( ID DOUBLE DEFAULT NULL, name VARCHAR(2 ...

6月1日 18:46 投稿

Spring Boot における EasyExcel を用いた大規模データの効率的なインポート・エクスポート

Spring Boot 環境で大規模な Excel データを扱う際、最も懸念されるのはメモリ不足(OOM)によるサーバーダウンです。従来の Apache POI はファイル全体をメモリ上に展開するため、数万行程度のデータでもリスクが生じます。これを回避し、処理速度を最大化するための標準的なアプローチが、阿里巴巴製の EasyExcel の導入です。 EasyExcel は SAX パーサーをベースとして ...

6月1日 10:26 投稿

MyBatis設定ファイルの効率的な読み込みとプロパティファイルによるデータベース接続管理

1. SqlSessionインスタンス取得のためのユーティリティクラス実装 MyBatis操作ではSqlSessionインスタンスの取得処理が繰り返し発生します。以下の実装では各操作ごとに設定ファイル読み込みが行われ、リソース効率が低下します: public class StudentDaoImpl implements IStudentDao { private SqlSession session; public void addStudent(Student student ...

6月1日 03:42 投稿

MyBatisにおける動的SQLの実装パターンと活用法

動的SQLの概要 MyBatisの動的SQL機能は、実行時の条件に基づいてSQL文を柔軟に組み立てるための仕組みです。Javaのコード内で文字列連結を行ってSQLを構築する手法に比べ、可読性が高く、保守性に優れた実装が可能となります。 条件分岐によるSQL構築(ifタグ) <if>タグを使用すると、test属性に指定したOGNL式の評価結果がtrueの場合のみ、 ...

5月31日 22:38 投稿