您可以使用MyBatis的动态SQL来实现该查询逻辑。首先,您需要在Mapper接口中定义一个方法来查询当前时间是否在指定id的数据的开标时间和截标时间之内。以下是一个示例代码:

public interface YourMapper {
    boolean checkTimeInRange(@Param("id") int id, @Param("currentTime") Date currentTime);
}

然后,在Mapper XML文件中编写实际的SQL查询语句。您可以使用<![CDATA[ ]]>标签来包裹SQL语句,以避免XML解析错误。以下是一个简单的示例:

<select id="checkTimeInRange" resultType="boolean">
    SELECT COUNT(*) FROM your_table
    WHERE id = #{id}
    AND open_time <= #{currentTime}
    AND close_time >= #{currentTime}
</select>

最后,在您的代码中调用该方法来查询当前时间是否在指定id的数据的开标时间和截标时间之内。以下是一个示例:

YourMapper mapper = sqlSession.getMapper(YourMapper.class);
boolean isTimeInRange = mapper.checkTimeInRange(id, currentTime);

请注意,您需要根据实际的表名、字段名和数据类型进行调整。此外,这只是一个示例,您可能需要根据您的实际需求进行适当的修改


原文地址: https://www.cveoy.top/t/topic/ioqG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录