在 mybatis 中,可以使用以下 java 类型与 mysql 中的 datetime 类型进行比较:
- java.util.date
- java.lang.string
date 类型
在 mybatis 的 xml 映射文件中,如果将 parametertype 设置为 java.util.date,则需要将 java 中的日期对象作为参数传递。例如:
立即学习“Java免费学习笔记(深入)”;
<select id="selectusersbetweendates" parametertype="java.util.date"> select x.* from my.`user` x where time between #{startdate} and #{enddate} </select>
java 代码中:
java date startdate = new date(); date enddate = new date(); // 查询 list<user> users = sqlsession.selectlist("selectusersbetweendates", startdate, enddate);
String 类型
如果映射文件中 parametertype 设置为 java.lang.string,则需要将时间字符串作为参数传递,格式应与 mysql 中的 datetime 类型一致。例如:
<select id="selectusersbetweendates" parametertype="java.lang.string"> select x.* from my.`user` x where time between #{startdate} and #{enddate} </select>
java 代码中:
java String startDate = "2024-02-28 22:35:59"; String endDate = "2024-02-28 22:36:58"; // 查询 List<User> users = sqlSession.selectList("selectUsersBetweenDates", startDate, endDate);