问题描述:今天编写定时任务管理模块,提交定时任务实体信息时,提示如下错误
nested exception is org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.LONG
大致含义是:MyBatis 框架不支持Long 数据类型
产生问题的*Mapper.xml 文件
错误:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zzg.mapper.ScheduleJobMapper">
<resultMap id="BaseResultMap" type="com.zzg.entity.ScheduleJob">
<id column="id" jdbcType="Long" property="id" />
<result column="job_name" jdbcType="VARCHAR" property="jobName" />
<result column="cron_expression" jdbcType="VARCHAR" property="cronExpression" />
<result column="bean_name" jdbcType="VARCHAR" property="beanName" />
<result column="method_name" jdbcType="VARCHAR" property="methodName" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="del_flag" jdbcType="INTEGER" property="delFlag" />
</resultMap>
</mapper>
正确:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zzg.mapper.ScheduleJobMapper">
<resultMap id="BaseResultMap" type="com.zzg.entity.ScheduleJob">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="job_name" jdbcType="VARCHAR" property="jobName" />
<result column="cron_expression" jdbcType="VARCHAR" property="cronExpression" />
<result column="bean_name" jdbcType="VARCHAR" property="beanName" />
<result column="method_name" jdbcType="VARCHAR" property="methodName" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="del_flag" jdbcType="INTEGER" property="delFlag" />
</resultMap>
</mapper>
差异截图:
总结:数据库类型与Java类型对应表
DB Type | JAVA Type |
CHAR | String |
VARCHAR | String |
LONGVARCHAR | String |
NUMERIC | java.math.BigDecimal |
DECIMAL | java.math.BigDecimal |
BIT | boolean |
BOOLEAN | boolean |
TINYINT | byte |
SMALLINT | short |
INTEGER | int |
BIGINT | long |
REAL | float |
FLOAT | double |
DOUBLE | double |
BINARY | byte[] |
VARBINARY | byte[] |
LONGVARBINARY | byte[] |
DATE | java.sql.Date |
TIME | java.sql.Time |
TIMESTAMP | java.sql.Timestamp |
CLOB | Clob |
BLOB | BLOB |
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)