Skip to content

Instantly share code, notes, and snippets.

@logicjwell
Last active April 28, 2019 12:45
Show Gist options
  • Save logicjwell/e4b775bbce5de6342ef0b6c27bf948d0 to your computer and use it in GitHub Desktop.
Save logicjwell/e4b775bbce5de6342ef0b6c27bf948d0 to your computer and use it in GitHub Desktop.
[MyBatis基于注解的one-to-one, one-to-many关联查询] #mybatis #关联查询 #OneToOne #OneToMany
@Mapper
public interface TestRequirementMapper {
@Results(id = "requirementResult", value = {
@Result(column="uuid",property="uuid", id = true),
@Result(column="requirement=uuid, creator=myUuid",property="attachments", many = @Many(select = "selectAttachmentsByRequirement")),
@Result(column="name_of_requirement",property="name_of_requirement"),
@Result(column="cat_of_requirement",property="cat_of_requirement"),
@Result(column="statement_of_material",property="statement_of_material"),
@Result(column="statement_of_processing",property="statement_of_processing"),
@Result(column="estimate_price",property="estimate_price"),
@Result(column="commission_type",property="commission_type"),
@Result(column="commission_price",property="commission_price"),
@Result(column="include_transfee",property="include_transfee"),
@Result(column="reception_address",property="reception_address"),
@Result(column="ton_of_requirement",property="ton_of_requirement"),
@Result(column="statement_of_package",property="statement_of_package"),
@Result(column="other_statement",property="other_statement"),
@Result(column="create_time",property="create_time"),
@Result(column="create_by",property="create_by"),
@Result(column="modify_time",property="modify_time"),
@Result(column="modify_by",property="modify_by"),
@Result(column="is_delete",property="is_delete")
})
@Select("select uuid, #{myUuid} as myUuid, name_of_requirement, cat_of_requirement, statement_of_material, statement_of_processing, estimate_price, commission_type, commission_price, include_transfee, reception_address, ton_of_requirement, statement_of_package, other_statement, create_time, create_by, modify_time, modify_by, is_delete" +
" from ft_requirement where is_delete='N' and uuid=#{requirement}" +
" order by create_time desc")
RequirementObj selectRequirement(@Param("requirement") String requirementUuid, @Param("myUuid") String myUuid);
@Results(id = "requirementAttachmentResult", value = {
@Result(column="uuid",property="uuid", id = true),
@Result(column="requirement_uuid",property="requirement_uuid"),
@Result(column="file_path",property="file_path"),
@Result(column="create_time",property="create_time"),
@Result(column="create_by",property="create_by"),
@Result(column="is_delete",property="is_delete")
})
@Select("select uuid,requirement_uuid,file_path,create_time,create_by,is_delete from ft_requirement_attachment " +
" where requirement_uuid=#{requirement} and create_by=#{creator} and is_delete='N'")
List<RequirementAttachmentObj> selectAttachmentsByRequirement(@Param("requirement") String requirementUuid, @Param("creator") String creator);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment