MyBatisでDELETE文を実行する方法
MyBatisでDELETE文を使いレコードを物理削除する方法を紹介します。
SQL文(XMLファイル)
MyBatisのSQL文(XMLファイル)は次のとおりで、<delete>~</delete>内にDELETE文を書くことができます。
[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">
<!-- 論理削除 -->
<delete id="delete">
DELETE FROM userinfo WHERE id = #{id}
</delete>
</mapper>
Mapperクラス
MyBatisのMapperクラスは次のとおり。
[Mapperクラス]
package com.example.demo.dao;
import org.apache.ibatis.annotations.Mapper;
/**
* ユーザー情報 Mapper
*/
@Mapper
public interface UserInfoMapper {
/**
* ユーザー情報の物理削除
* @param id ID
*/
void delete(Long id);
}
今回の例では,、XMLファイルを使いSQL文を実行していますが、XMLファイルは利用せず@DeleteアノテーションでMapperクラスに直接SQL文を書くこともできます。
package com.example.demo.dao;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
/**
* ユーザー情報 Mapper
*/
@Mapper
public interface UserInfoMapper {
/**
* ユーザー情報の物理削除
* @param id ID
*/
@Delete("DELETE FROM userinfo WHERE id = #{id}")
void delete(Long id);
}
helpful
この記事は役に立ちましたか?