在 MyBatis 中,你可以在 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 數據庫的時間函數。如果你使用其他數據庫,請根據相應數據庫的文檔修改時間函數。