问题
问题:使用mybatis-generator生成sqlite3的代码时,金额是double,时间是string类型
表格式如下
CREATE TABLE test(
id integer primary key autoincrement, -- id
amount numberic , -- 金额
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP
);
解决
解决1(没效果):generatorConfig.xml
<javaTypeResolver>
<!-- forceBigDecimals 该属性默认为 false,此时它会将 JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,
若该属性为 true,此时将会把 JDBC DECIMAL 和 NUMERIC 类型解析为 java.math.BigDecimal。 -->
<property name="forceBigDecimals" value="true"/>
<property name="useJSR310Types" value="false"/>
</javaTypeResolver>
解决2(有效):参考官网中mysql解决方案
<table tableName="test" domainObjectName="Test" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<generatedKey column="id" sqlStatement="JDBC"/>
<columnOverride column="amount" javaType="java.math.BigDecimal" jdbcType="numberic" />
<columnOverride column="create_time" javaType="java.util.Date" jdbcType="TEXT" />
</table>
标签:generator,DEFAULT,DATETIME,mybatis,sqlite3,id
From: https://www.cnblogs.com/qpzmal/p/17769385.html