<?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="org.jeecg.modules.agri.breed.mapper.BreedingManagementMapper">
<select id="searchPage" resultType="org.jeecg.modules.agri.breed.vo.BreedingManagementSearchResultVo">
SELECT
bm.*,
pc.NAME AS typeName,
ar.id AS parkId,
ar.NAME AS parkName,
pl.NAME AS landName,
pl.id AS landId,
cv.breed_name AS breedName
FROM
breeding_management bm
LEFT JOIN cultivated_varieties cv ON cv.id = bm.cult_id
LEFT JOIN pro_res_crop pc ON pc.id = cv.type_id
LEFT JOIN pro_park_area ar ON ar.id = bm.park_id
LEFT JOIN pro_res_land pl ON pl.id = bm.land_id
<where>
bm.del_flag = '0'
<if test="breedingManagementSearchResultVo.parkId != null and breedingManagementSearchResultVo.parkId != ''">
and bm.park_id = #{breedingManagementSearchResultVo.parkId}
</if>
<if test="breedingManagementSearchResultVo.landId != null and breedingManagementSearchResultVo.landId != ''">
and bm.land_id = #{breedingManagementSearchResultVo.landId}
</if>
<if test="breedingManagementSearchResultVo.typeId != null and breedingManagementSearchResultVo.typeId != ''">
and bm.type_id = #{breedingManagementSearchResultVo.typeId}
</if>
<if test="breedingManagementSearchResultVo.breedName != null and breedingManagementSearchResultVo.breedName != ''">
and cv.breed_name like concat('%',#{breedingManagementSearchResultVo.breedName},'%')
</if>
<if test="breedingManagementSearchResultVo.startTime!=null and breedingManagementSearchResultVo.endTime!=''
and breedingManagementSearchResultVo.startTime!=null and breedingManagementSearchResultVo.endTime!=''">
and bm.lairaging_time between #{breedingManagementSearchResultVo.startTime} and
#{breedingManagementSearchResultVo.endTime}
</if>
</where>
order by bm.create_time desc
</select>
<select id="getTypeNameInfo" resultType="java.lang.String">
SELECT pc.NAME AS typeName
FROM breeding_management bm
LEFT JOIN cultivated_varieties cv ON cv.id = bm.cult_id
LEFT JOIN pro_res_crop pc ON pc.id = cv.type_id
LEFT JOIN pro_park_area ar ON ar.id = bm.park_id
LEFT JOIN pro_res_land pl ON pl.id = bm.land_id
where bm.del_flag = '0'
and bm.land_id = #{landId}
order by bm.create_time desc LIMIT 1
</select>
</mapper>
Mybatis查询使用xml实现
最新推荐文章于 2024-05-30 10:30:00 发布