MyBatis | DELETE削除

削除前のDBテーブル

test_table

id value
1 hoge
2 fuga
3 piyo

ソースコード

TestTable.java

package sample.mybatis;

public class TestTable {
    private int id;
    private String value;

    public TestTable(int id) {
        this.id = id;
    }
}

sample_mapper.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="sample.mybatis">

  <delete id="deleteTest">
    delete from test_table where id = #{id}
  </delete>
</mapper>

Main.java

package sample.mybatis;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Main {

    public static void main(String[] args) throws Exception {
        try (InputStream in = Main.class.getResourceAsStream("/mybatis-config.xml")) {
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);

            try (SqlSession session = factory.openSession()) {
                TestTable table = new TestTable(2);

                session.insert("sample.mybatis.deleteTest", table);
                session.commit();
            }
        }
    }
}

実行結果

[DEBUG] s.m.deleteTest  - ==>  Preparing: delete from test_table where id = ? 
[DEBUG] s.m.deleteTest  - ==> Parameters: 2(Integer)
[DEBUG] s.m.deleteTest  - <==    Updates: 1

test_table

id value
1 hoge
3 piyo

説明

  • <delete>タグでDELETE文を定義できる。