在MyBatis中,可以通过自定义TypeHandler来实现将Date类型转换成String类型。下面是一个示例:
首先创建一个DateToStringTypeHandler类,实现TypeHandler
public class DateToStringTypeHandler implements TypeHandler{ private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override public void setParameter(PreparedStatement ps, int i, Date parameter, JdbcType jdbcType) throws SQLException { ps.setString(i, sdf.format(parameter)); } @Override public Date getResult(ResultSet rs, String columnName) throws SQLException { Date date = rs.getDate(columnName); return date; } @Override public Date getResult(ResultSet rs, int columnIndex) throws SQLException { Date date = rs.getDate(columnIndex); return date; } @Override public Date getResult(CallableStatement cs, int columnIndex) throws SQLException { Date date = cs.getDate(columnIndex); return date; } }
然后在MyBatis的配置文件中注册这个TypeHandler:
这样就可以在MyBatis中将Date类型转换成String类型了。在Mapper接口中,直接定义参数或返回值为String类型即可。