按网上说的断点导致,或者其他原因导致的,在我这并不是这个原因导致的,而是使用Mybatis时,MySql内某个字段设置为LONGTEXT在与resultMap进行映射时导致的问题,因为使用的是自动生成工具生成默认的,只需将jdbcType=“LONGTEXT” 改成jdbcType=“VARCHAR” 即可。
原因及处理
一直卡- {dataSource-1} inited 图:
解决卡住图:
可以看到只是把jdbcType="LONGTEXT"改成jdbcType="VARCHAR"就能成功启动
<resultMap id="BaseResultMap" type="">
// 错误写法MyBatis不支持
<result column="check_msg" jdbcType="LONGTEXT" property="checkMsg" />
// 正确配法
<result column="check_msg" jdbcType="VARCHAR" property="checkMsg" />
// 或者使用这种写法
<result column="check_msg" jdbcType="CLOB" property="description" />
</resultMap>
mybatis映射支持JDBC对照表图:
mybatis官方文档地址:链接: mybatis3
可以看到Mybatis并不支持LongText,这是因为:
在 MyBatis 中,jdbcType 用于指定数据库字段的 JDBC 类型,以便在参数映射和结果映射时能够正确地进行类型转换。对于一些常见的数据库类型,MyBatis 已经提供了很好的支持,比如 VARCHAR、INTEGER 等。然而,像 LONGTEXT 这样的类型可能并不是所有数据库都通用。
实际上,LONGTEXT 是 MySQL 数据库特有的数据类型,表示可以存储非常长的文本数据。在 MyBatis 中,你应该使用与数据库通用的类型来替代 LONGTEXT,例如使用 VARCHAR 或者 CLOB(对应大文本类型)来表示非常长的文本数据