注解式SQL Select语句判空
这里有个神坑,标签和大于、小于号它可能识别不出来
所以要用 【>】代替【>】号,用【<】代替【<】号
@Select("<script>" +
        "select * from course " +
        "<where> " +
        "del_flag = 0 and id in " +
        "(select course_id from course_teacher where del_flag = 0 and user_id = #{userId})" +
        "<if test='courseName != null'> " +
        "and  course_name like concat('%',#{courseName},'%') " +
        "</if>" +
        "<if test='openTime != null'> " +
        "and open_time >= #{openTime} " +
        "</if>" +
        "<if test='endTime != null'> " +
        "and end_time <= #{endTime} " +
        "</if> " +
        "</where> " +
        "</script>")
@Results({
        @Result(property = "userId",  column = "user_id"),
        @Result(property = "courseName", column = "course_name"),
        @Result(property = "openTime", column = "open_time"),
        @Result(property = "endTime",column = "end_time"),
})
List<Course> searchTeCourse(@Param("userId") Long userId,@Param("courseName") String courseName,@Param("openTime") Date openTime,@Param("endTime") Date endTime);
下面那个@Results()那块加不加都可以。我是不加了,多此一举
    [ 版权声明 ]:
本文所有权归作者本人,文中参考的部分已经做了标记!
商业用途转载请联系作者授权!
非商业用途转载,请标明本文链接及出处!
                    
                
                
            
        
浙公网安备 33010602011771号