Java

MyBatisでレコードを登録(INSERT文)する方法

MyBatisでINSERT文を実行する

MyBatisでINSERT文を使いレコードを登録する方法を紹介します。

本記事で使用するテーブル定義は次のとおり。

物理名 論理名 データ型 NOT NULL 説明
id ID BIGINT 主キー(AUTO_INCREMENT)
name 名前 VARCHAR(100) ユーザーの名前
address 住所 VARCHAR(255) ユーザーの住所
phone 電話番号 VARCHAR(50) ユーザーの電話番号
update_date 更新日時 DATETIME 最終更新日時
create_date 作成日時 DATETIME 登録日時
delete_date 削除日時 DATETIME 論理削除した日時

スポンサーリンク

SQL文(XMLファイル)

MyBatisのSQL文(XMLファイル)は次のとおりで、<insert>~</insert>内にINSERT文を書くことができます。

[XMLファイル]

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.UserInfoMapper">

    <!-- 新規登録 -->
    <insert id="save">
        INSERT INTO userInfo
        (
            name
            ,address
            ,phone
            ,update_date
            ,create_date
        )
        VALUES
        (
            #{name}
            ,#{address}
            ,#{phone}
            ,CURRENT_TIMESTAMP
            ,CURRENT_TIMESTAMP
        )
    </insert>

</mapper>

Mapperクラス

MyBatisのMapperクラスは次のとおり。

[Mapperクラス]

package com.example.demo.dao;

import org.apache.ibatis.annotations.Mapper;

import com.example.demo.entity.UserInfo;

/**
 * ユーザー情報 Mapper
 */
@Mapper
public interface UserInfoMapper {

    /**
     * ユーザー情報登録
     * @param userInfo ユーザー情報エンティティ
     */
    void save(UserInfo userInfo);
}

エンティティクラス

データ登録時に使用するエンティティクラスは次のとおり。

[Entityクラス]

package com.example.demo.entity;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * ユーザー情報 Entity
 */
@Data
public class UserInfo implements Serializable {

    /**
     * ID
     */
    private Long id;

    /**
     * 名前
     */
    private String name;

    /**
     * 住所
     */
    private String address;

    /**
     * 電話番号
     */
    private String phone;

    /**
     * 更新日時
     */
    private Date updateDate;

    /**
     * 登録日時
     */
    private Date createDate;

    /**
     * 削除日時
     */
    private Date deleteDate;
}

YouTubeでも解説しています。チャンネル登録と高評価よろしくお願いします!
ITを分かりやすく解説

チャンネル登録はこちら

フォローはこちら