关于项目中根据当前数据库中最大ID生成下一个ID问题——(五)
1.关于部门管理时候根据上级产生下级部门ID的问题(传入一个参数是上级部门id)
两种解决方案:
第一种: 在数据库就生成加一后的字符串
1.
SELECT MAX(unitId+1) FROM t_unit_base_info WHERE upUnitId='10'
2.
SELECT MAX(unitId)+1 FROM t_unit_base_info WHERE upUnitId='10'
第二种:在数据库查出当前最大值后在service层加一作为下个添加的ID
数据库查询当前最大值:
SELECT MAX(unitId) FROM t_unit_base_info WHERE upUnitId='10'
Service层加一
String nextId = unitMapper.getNextUnitId(upUnitId); if (nextId == null) { nextId = upUnitId + "001"; } else { nextId = Integer.toString(Integer.parseInt(nextId) + 1); }
2.关于带有字母的ID自动生成问题
1.第一种:(长度定死,数据库直接加一)
SELECT CONCAT(SUBSTR(MAX(meetingId),1,1),SUBSTR(MAX(meetingId), 2) + 1) FROM t_meeting_base_info;
2.第二种:
同上面一样,在数据库中查出当前最大值后,在Service层加一
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】