MyBatis 向 SQL Server 数据库插入报异常,主要异常信息如下:
com.microsoft.sqlserver.jdbc.SQLServerException: 不允许从数据类型 varbinary 到 date/datetime/datetime2 的隐式转换。请使用 CONVERT 函数来运行此查询。
1.解决方法一:xml 映射文件中对应的 sql 字段补上 jdbcType ,参考如下:
...
#{birthday,jdbcType=DATE/TIMESTAMP},
...
2.解决方法二:entity 表实体类中对应的属性补上注解 @ColumnType及其属性jdbcType ,参考如下:
@tk.mybatis.mapper.annotation.ColumnType(jdbcType = org.apache.ibatis.type.JdbcType.DATE/TIMESTAMP)
private java.util.Date birthday;