阅读量:0
在 MyBatis 中,你可以在 XML 映射文件或注解中使用时间函数
- 在 XML 映射文件中使用时间函数:
首先,创建一个名为 User
的实体类,包含属性 id
、name
和 createTime
。
public class User { private int id; private String name; private Date createTime; // 省略 getter 和 setter 方法 }
接下来,创建一个名为 UserMapper
的接口,用于定义查询方法。
public interface UserMapper { List<User> selectUsersByCreateTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime); }
然后,创建一个名为 UserMapper.xml
的 XML 映射文件,并编写 SQL 查询语句。在这里,我们使用 MySQL 的 NOW()
函数和 DATE_SUB()
函数来过滤 createTime
在指定时间范围内的记录。
<?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="com.example.mapper.UserMapper"> <select id="selectUsersByCreateTime" resultType="com.example.entity.User"> SELECT * FROM user WHERE create_time BETWEEN #{startTime} AND #{endTime} </select> </mapper>
- 在注解中使用时间函数:
在 UserMapper
接口中,使用 @Select
注解编写 SQL 查询语句。在这里,我们同样使用 MySQL 的 NOW()
函数和 DATE_SUB()
函数来过滤 createTime
在指定时间范围内的记录。
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.Date; import java.util.List; public interface UserMapper { @Select("SELECT * FROM user WHERE create_time BETWEEN #{startTime} AND #{endTime}") List<User> selectUsersByCreateTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime); }
现在,你可以在你的服务类中调用 UserMapper
的 selectUsersByCreateTime()
方法,传入起始时间和结束时间参数,以获取指定时间范围内的用户列表。
注意:上述示例使用了 MySQL 数据库的时间函数。如果你使用其他数据库,请根据相应数据库的文档修改时间函数。