@Transactional
public void addProfessional(String professionalName , String collegeName){
Professional professional = new Professional();
int collegeId = collegeDao.selectIdByName(collegeName);
String collegeIdToString = collegeId >= 10 ? String.valueOf(collegeId) : "0"+collegeId;
String professionalId = "???";
professional.setProfessionalId(professionalId);
professional.setProfessionalName(professionalName);
professional.setCollegeId(collegeId);
professionalDao.addProfessional(professional);
}
学院(college)Id 是两位数字,专业班级(professional)Id 是学院 id+编号,
例如:
学院 id 是 01 专业 id 可能是 0101 0102 0103
学院 id 是 02 专业 id 可能是 0201 0202 0203
这个"???"该怎么填
这是表
create table professional
(
professional_id char(4) not null primary key comment '专业编号, 学院(2)+编号(2)',
professional_name varchar(20) not null,
college_id tinyint not null
);
create table college
(
college_id tinyint not null auto_increment primary key comment '学院编号(2)',
college_name varchar(20) not null
);
1
woscaizi 2019-06-10 22:50:55 +08:00 via iPhone 1
取数据库中最新一条专业的编号,后两位转 int 加一,不足 2 位补位,加上学院前缀。
注意加表锁。 |