问题
使用mybatis做数据插入时,字符前后的空格总是被自动去掉了,后来发现是 Mybatis Generator 生成的代码有问题,对于字符类型的字段,自动做了调用了 string.trim() 方法。
解决
修改 generatorConfiguration 配置文件,
将generatorConfiguration -> javaModelGenerator
中的trimStrings
属性设置为false即可:
<!-- 生成model模型,对应的包,存放位置可以指定具体的路径,如/ProjectName/src,也可以使用MAVEN来自动生成 -->
<javaModelGenerator targetPackage="com.xxx.model" targetProject="MAVEN">
<!-- <property name="enableSubPackages" value="true" /> -->
<!-- 设置是否在setter方法中,对String类型字段调用trim()方法-->
<property name="trimStrings" value="false"/>
</javaModelGenerator>
该属性如果设置为true,则生成model类的setter方法中会调用trim():
public void setXxx(String text) {
this.xxx = text == null ? null : text.trim();
}