使用mybatis自動生成指定規則的編號
阿新 • • 發佈:2018-12-07
一、要求
1.如果表中還未有選單,新增一級選單,編號為:'300'
2.繼續新增一級選單,編號為:一級選單最大編號 + 1,如'301','302','303'
3.新增子級選單:編號 = 父級編號 + 當前父級選單下最大選單編號 +1,如果當前子級沒有選單則從001開始
如:'300001','300002','300003'
4.子級選單的子級選單依照第3步類推,如:'300001001','300001002','300001003'
5.以上要求實現效果如下圖:
二、實現
使用mybatis自動生成合理的id,程式碼如下:
<selectKey keyProperty="id" resultType="String" order="BEFORE"> <choose> <when test="fid == null or fid == ''"> select ifnull(max(id)+1, '300') id from sys_menu sys_menu where fid is null or fid='' </when> <otherwise> select ifnull(max(id)+1, concat(#{fid,jdbcType=VARCHAR},'001')) id from sys_menu where fid = #{fid,jdbcType=VARCHAR} </otherwise> </choose> </selectKey>
三、使用及效果
將上面的程式碼放在mybatis中語句的開頭即可,如圖: