问题:
表中的script是longtext类型的,用mybatis插件自动生成的映射文件中没有script这个字段,因此查询时,该字段的值一直为null。
修改mybatis generatorConfig.xml配置文件,增加columnOverride。
<table tableName="bdp_dts_script_history" domainObjectName="BdpDtsScriptHistoryPo">
<generatedKey column="ID" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
<columnOverride column="SCRIPT" javaType="java.lang.String" jdbcType="VARCHAR" />
</table>
修改后重新生成实体类及映射文件,前后生成的映射文件对比如下:
注:
generatorConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<!-- classPathEntry:数据库的JDBC驱动的jar包地址 -->
<classPathEntry location="D:\apache-maven-3.5.2\apache-maven-3.5.2\repo\mysql\mysql-connector-java\5.1.34\mysql-connector-java-5.1.34.jar"/>
<context id="context">
<property name="javaFileEncoding" value="UTF-8"/>
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<commentGenerator>
<property name="suppressAllComments" value="true" />
<property name="suppressDate" value="true"/>
</commentGenerator>
<!--<jdbcConnection driverClass="com.mysql.jdbc.Driver"-->
<!--connectionURL="jdbc:mysql://172.16.2.128:3306/bdp" userId="root"-->
<!--password="byxf1qaz" />-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://172.16.2.231:3307/bdp" userId="root"
password="byxf#2021" />
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="com.byxf.bdp.domain.entity.po"
targetProject="src/main/java" />
<sqlMapGenerator targetPackage="com.byxf.bdp.domain.mapper"
targetProject="src/main/java" />
<javaClientGenerator targetPackage="com.byxf.bdp.domain.mapper"
targetProject="src/main/java" type="XMLMAPPER" />
<table tableName="bdp_dts_script_history" domainObjectName="BdpDtsScriptHistoryPo">
<generatedKey column="ID" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
<columnOverride column="SCRIPT" javaType="java.lang.String" jdbcType="VARCHAR" />
</table>
</context>
</generatorConfiguration>