The following summarizes two ways, one is auto-generated using Oracle's Sys_guid function, and the other is using sequence,
Method One:
<insert id= "Insert" usegeneratedkeys= "false" keyproperty= "StoreId" parametertype= "Zttc.itat.user.po.TStore" >
<selectkey resulttype= "String" keyproperty= "StoreId" order= "before" >
Select Sys_guid () from dual
</selectKey>
Insert into T_store (store_id, Store_name, store_price,create_date,end_date
)
VALUES (#{storeid,jdbctype=varchar}, #{storename,jdbctype=varchar}, #{storeprice,jdbctype=decimal},
#{createdate,jdbctype=varchar},#{enddate,jdbctype=varchar}
)
</insert>
Method Two:
<insert id= "Insert" parametertype= "Zttc.itat.user.po.TStore" >
Insert into T_store (store_id, Store_name, store_price,create_date,end_date
)
VALUES (My_sequence.nextval, #{storename,jdbctype=varchar}, #{storeprice,jdbctype=decimal},
#{createdate,jdbctype=varchar},#{enddate,jdbctype=varchar}
)
</insert>
<insert id= "Insert" usegeneratedkeys= "false" keyproperty= "StoreId" parametertype= "Zttc.itat.user.po.TStore" >
<selectkey resulttype= "String" keyproperty= "StoreId" order= "before" >
Select My_sequence.nextval as storeId from dual
</selectKey>
Insert into T_store (store_id, Store_name, store_price,create_date,end_date
)
VALUES (#{storeid,jdbctype=varchar}, #{storename,jdbctype=varchar}, #{storeprice,jdbctype=decimal},
#{createdate,jdbctype=varchar},#{enddate,jdbctype=varchar}
)
</insert>
MyBatis automatic generation of primary keys using Oracle