【发布时间】:2015-06-17 14:25:41
【问题描述】:
我正在尝试从网页表单中获取多个值,并使用休眠查询从数据库中搜索值并检索结果并将其显示在新页面中。
我需要获取这些文本字段,即使任何字段为空,我也需要通过控制器在数据库中运行搜索查询并在新页面中返回一组结果。我试图将结果存储在 ArrayList 的数组列表中,但它没有用。谁能帮帮我?
我正在尝试从控制器的网页中获取文本值:
String lastname = request.getParameter("lastname");
String firstname = request.getParameter("firstname");
String gender = request.getParameter("gender");
String speciality = request.getParameter("speciality");
String keyword = request.getParameter("keyword");
我有存储所有这些文本字段的医生表。姓氏,名字,性别,专业。我有一个名为医生的类,它链接到数据库。
@Entity
@Table(name="DOCTOR_DETAILS")
public class Doctor {
@Id
@Column (nullable=false)
private int npi;
@Column (nullable=false)
private String firstName;
@Column (nullable=false)
private String lastName;
@Column (nullable=false)
private String gender;
@Column (nullable=false)
private String speciality;
public int getNpi() {
return npi;
}
public void setNpi(int npi) {
this.npi = npi;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getSpeciality() {
return speciality;
}
public void setSpeciality(String speciality) {
this.speciality = speciality;
}
}
我需要运行一个选择查询来从表中检索记录。即使 4 个字段中的任何一个为空,查询也应该检索记录。
try {
begin();
ArrayList <String> cntList = new ArrayList<String>();
Query q = getSession().createQuery("select * from
doctor where lastName = :lastName or firstName =:firstName or
gender=:gender or speciality = :speciality");
q.setString("username", username);
cntList = (ArrayList<String>) q.list();
commit();
return cntList;
}
我尝试了以下使用 Hibernate 标准的方法,但出现错误。我哪里出错了?
我在控制器中编写了以下代码:
在我的 DAO 类中连接到数据库的下面部分。
但我遇到以下错误:
你能帮帮我吗?
代码运行良好并返回了结果列表。我尝试按照教程点站点中提供的步骤进行操作,但出现转换错误。 "类型不匹配:无法从 int 转换为医生。
类型不匹配要求我更改 医生医生 = iterator.next(); 到 int 医生 = iterator.next();
这很奇怪,因为我无法从 Doctor 类中检索值。
【问题讨论】:
-
"即使 4 个字段中的任何一个为空,查询也应该检索记录。"那你想带什么唱片呢?所有可用的医生?
标签: mysql spring hibernate spring-mvc