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.AssociateDTO; public interface AssociateMapper { @Select("SELECT * FROM company_associate WHERE company_id = #{companyId}") @Results(value = { @Result(property="id", column="id"), @Result(property="associateName", column="associate"), @Result(property="companyId", column="company_id") }) List<AssociateDTO> getAssociates(Integer company_id); @Insert("INSERT INTO company_associate (associate, company_id) VALUES (#{associateName}, #{companyId})") @SelectKey(statement = "call identity()", keyProperty = "id", before = false, resultType = int.class) Integer create(AssociateDTO dto); @Update("UPDATE company_associate SET associate = #{associateName}, company_id = #{companyId} WHERE id = #{id}") Integer update(AssociateDTO dto); @Delete("DELETE FROM company_associate WHERE id = #{id}") Integer delete(AssociateDTO dto); }