关于mybatis反向生成的时候,对于数据库当中的数据类型是text的处理。
今天在帮一个同事通过mybatis生成实体类的时候,出现了表当中数据类型为text类型在转换的过程当中出现生成了一个文件
在这里这个文件的文件名称为testWithBLOBs,他会在这个实体类额基础上在加入一个WithBLOBs。而且他还是继承了test类。
public class testWithBLOBs extends test {
private String id;
}
生成的目录结构如下:
同时我们看到在生成的xml文件当中的数据类型是这样的。
text类型的数据被转换为longvarchar的形式。在这里我们想要将数据类型在转换的时候生成的是varchar的类型。我们只要在table标签当中设置即可。
<table domainObjectName="test" tableName="order">
<property name="useActualColumnNames" value="true"/> <!-- 这个属性值是变量名称和数据库当中的变量名称保持一致 -->
<columnOverride column="id" javaType="java.lang.String" jdbcType="VARCHAR" />
<columnOverride column="billid" javaType="java.lang.String" jdbcType="VARCHAR" /><!--这里是将text类型的变量转换为varchar类型。 -->
<columnOverride column="dishid" javaType="java.lang.String" jdbcType="VARCHAR" />
<columnOverride column="orderperson" javaType="java.lang.String" jdbcType="VARCHAR" />
</table>
这里设置了两个参数,一个是生成的实体类和数据库的大小写保持一致,
另外一个是将表中数据类型为text类型的转换为varchar类型。