MySQL中有一個系統函數now(),可以返回當前系統的時間,包括日期和時間。
在Mybatis中如果需要使用now()函數,可以在Mapper文件中直接使用SQL語句。
<select id="getNowTime" resultType="java.util.Date"> SELECT NOW() as nowtime </select>
在Mapper接口中定義該方法:
Date getNowTime();
調用該方法即可獲得系統時間:
Date nowTime = mapper.getNowTime();
如果需要將返回的結果集映射為自定義的對象,可以使用結果集映射。
首先需要在Mapper文件中定義結果集映射:
<resultMap id="timeMap" type="com.example.Time"> <result property="nowTime" column="nowtime" jdbcType="TIMESTAMP"/> </resultMap> <select id="getNowTime" resultMap="timeMap"> SELECT NOW() as nowtime </select>
然后在自定義的Java類中定義對應的屬性:
public class Time { private Date nowTime; // getter and setter }
最后調用該方法即可獲得映射后的自定義對象:
Time time = mapper.getNowTime(); Date nowTime = time.getNowTime();