1.首先在数据库中创建sequence
CREATE SEQUENCE id_seq nocache;
这里创建了一个叫 id_seq的序列。
2.修改generatorConfig.xml
在需要主键生成的表下加入<generatedKey>
元素
<table tableName="tjs_road" domainObjectName="Road">
<generatedKey type="pre" column="road_id" sqlStatement="select id_seq.nextval from dual"></generatedKey>
<columnOverride column="road_id" property="roadId"/>
<columnOverride column="road_name" property="roadName"/>
</table>
generatedKey中的sqlStatement会出现在对应的生成的sqlmap.xml中
<insert id="insertSelective" parameterType="me.maiz.trainning.framework.ssm.dal.model.Road">
<selectKey keyProperty="roadId" order="BEFORE" resultType="java.math.BigDecimal">
select id_seq.nextval as roadId from dual
</selectKey>
insert into TJS_ROAD
...
亲测可用