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; }
helpful
この記事は役に立ちましたか?