Java 回复:我的sql从多个表中获取数据,逗号分隔
吴宇森的以下解决方案:Java 回复:我的sql从多个表中获取数据,逗号分隔,java,mysql,spring,Java,Mysql,Spring,吴宇森的以下解决方案: "SELECT d.first_name, d.last_name, GROUP_CONCAT(s.name) AS `specializations` FROM doctors d INNER JOIN doctor_specialization ds ON d.id = ds.doctor_id INNER JOIN specializations
"SELECT d.first_name,
d.last_name,
GROUP_CONCAT(s.name) AS `specializations`
FROM doctors d
INNER JOIN doctor_specialization ds
ON d.id = ds.doctor_id
INNER JOIN specializations s
ON ds.specialization_id = s.id
GROUP BY d.first_name, d.last_name"
使用GROUP_CONCAT是可行的,但是当使用Spring的JDBC行映射器类将获得的结果集映射到模型类时,这将是无效的
模型类:-
1.java博士
public class Doctor
{
private int doctorid;
private String firstname;
private String middlename;
private String lastname;
private String servicesOffered;
private String profStatement;
private Date practicingFrom;
private String consultingDays;
private String consultingTime;
private Set doctorSpecializations = new HashSet(0);
private Set qualifications = new HashSet(0);
//Getters & Setters;
}
public class Specialization
{
private int id;
private String specializationName;
private Set doctorSpecializations = new HashSet(0);
//Getters & Setters;
}
public class Specialization
{
private int id;
private String specializationName;
private Set doctorSpecializations = new HashSet(0);
//Getters & Setters;
}
public class Qualification
{
private int id;
private Doctor doctor;
private String qualificationName;
private String instituteName;
private Date procurementYear;
//Getters & Setters;
}