package com.farata.example.mapper; import java.util.List; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Options; import org.apache.ibatis.annotations.Result; import org.apache.ibatis.annotations.Results; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.SelectKey; import org.apache.ibatis.annotations.Update; import com.farata.example.dto.CompanyDTO; public interface CompanyMapper { @Select("SELECT * FROM company") @Results(value = { @Result(property="id", column="id"), @Result(property="companyName", column="company") }) List<CompanyDTO> getCompanies(); @Insert("INSERT INTO company (company) VALUES (#{companyName})") @SelectKey(statement = "call identity()", keyProperty = "id", before = false, resultType = int.class) Integer create(CompanyDTO dto); @Update("UPDATE company SET company = #{companyName} WHERE id = #{id}") Integer update(CompanyDTO dto); @Delete("DELETE FROM company WHERE id = #{id}") Integer delete(CompanyDTO dto); @Delete("DELETE FROM company") Integer deleteAll(); }