mybatis查询date类型的范围数据
时间: 2023-12-26 21:23:07 浏览: 31
在 MyBatis 中查询 Date 类型的范围数据可以使用以下方式:
1. 使用 Java.util.Date 类型
在 Mapper.xml 文件中使用两个 #{start} 和 #{end} 占位符来传递 Java.util.Date 类型的参数。
例如:
```
<select id="selectByDateRange" parameterType="map" resultType="YourResultType">
SELECT * FROM your_table WHERE date_column BETWEEN #{start} AND #{end}
</select>
```
在代码中使用 Map 类型参数传递起始日期和结束日期:
```
Date startDate = new Date();
Date endDate = new Date();
Map<String, Date> paramMap = new HashMap<>();
paramMap.put("start", startDate);
paramMap.put("end", endDate);
List<YourResultType> result = sqlSession.selectList("selectByDateRange", paramMap);
```
2. 使用 Java.sql.Date 类型
在 Mapper.xml 文件中使用两个 #{start, jdbcType=DATE} 和 #{end, jdbcType=DATE} 占位符来传递 Java.sql.Date 类型的参数。
例如:
```
<select id="selectByDateRange" parameterType="map" resultType="YourResultType">
SELECT * FROM your_table WHERE date_column BETWEEN #{start, jdbcType=DATE} AND #{end, jdbcType=DATE}
</select>
```
在代码中使用 Map 类型参数传递起始日期和结束日期:
```
Date startDate = new Date();
Date endDate = new Date();
java.sql.Date sqlStartDate = new java.sql.Date(startDate.getTime());
java.sql.Date sqlEndDate = new java.sql.Date(endDate.getTime());
Map<String, java.sql.Date> paramMap = new HashMap<>();
paramMap.put("start", sqlStartDate);
paramMap.put("end", sqlEndDate);
List<YourResultType> result = sqlSession.selectList("selectByDateRange", paramMap);
```
请注意,这里使用了 Map 类型的参数来传递起始日期和结束日期,也可以使用自定义的 Java Bean 类型作为参数来传递。