这是查询所有的结果集
//显示所有 controller控制层
public String findAll(){
if (page==null) {
page=new PageUtil();
}
page.setTotalCount(teastuService.queryCount(each));
HttpServletRequest request = ServletActionContext.getRequest();
teaList=teastuService.findAll(each,page);
if(teaList.size() < 1 ){
request.setAttribute("eachNo", "没有此条信息!");
}
request.setAttribute("teaList", teaList);
return "showList";
}
这是dao下的方法
@Resource(name="sessionFactory")
SessionFactory sessionFactory;
public List findAll(String each,PageUtil page) {
Session session = sessionFactory.openSession();
String eachType="%"+each+"%";
Query query=session.createQuery("select t from Teacher t where t.TName like '"+eachType+"'");
query.setFirstResult(page.getPageIndex()*page.getPageSize()-page.getPageSize());
query.setMaxResults(page.getPageSize());
List<Teacher> list = query.list();
session.close();
return list;
}
Student实体类
/**
* Student entity. @author MyEclipse Persistence Tools
*/
@Entity
@Table(name = "student", catalog = "asd")
public class Student implements java.io.Serializable {
// Fields
private Integer SId;
private String SName;
private Set<Teacher> teachers = new HashSet<Teacher>(0);
// Constructors
/** default constructor */
public Student() {
}
/** full constructor */
public Student(String SName, Set<Teacher> teachers) {
this.SName = SName;
this.teachers = teachers;
}
// Property accessors
@GenericGenerator(name = "generator", strategy = "increment")
@Id
@GeneratedValue(generator = "generator")
@Column(name = "s_id", unique = true, nullable = false)
public Integer getSId() {
return this.SId;
}
public void setSId(Integer SId) {
this.SId = SId;
}
@Column(name = "s_name", length = 50)
public String getSName() {
return this.SName;
}
public void setSName(String SName) {
this.SName = SName;
}
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "students")
public Set<Teacher> getTeachers() {
return this.teachers;
}
public void setTeachers(Set<Teacher> teachers) {
this.teachers = teachers;
}
Teacher实体类
/**
* Teacher entity. @author MyEclipse Persistence Tools
*/
@Entity
@Table(name = "teacher", catalog = "asd")
public class Teacher implements java.io.Serializable {
// Fields
private Integer TId;
private String TName;
private Set<Student> students = new HashSet<Student>(0);
// Constructors
/** default constructor */
public Teacher() {
}
/** full constructor */
public Teacher(String TName, Set<Student> students) {
this.TName = TName;
this.students = students;
}
// Property accessors
@GenericGenerator(name = "generator", strategy = "increment")
@Id
@GeneratedValue(generator = "generator")
@Column(name = "t_id", unique = true, nullable = false)
public Integer getTId() {
return this.TId;
}
public void setTId(Integer TId) {
this.TId = TId;
}
@Column(name = "t_name", length = 50)
public String getTName() {
return this.TName;
}
public void setTName(String TName) {
this.TName = TName;
}
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "teacher_student", catalog = "asd", joinColumns = { @JoinColumn(name = "t_id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "s_id", nullable = false, updatable = false) })
public Set<Student> getStudents() {
return this.students;
}
public void setStudents(Set<Student> students) {
this.students = students;
}
jsp页面输出显示
<form action="teaStuController!deleteMore" onsubmit="return delMore()" method="post" >
<table style="text-align: left" width="800px" >
<tr>
<th id="t1"><input id="qx" type="checkbox" onchange="quanxuan()"/>全选</th>
<th>编号</th>
<th>学生姓名</th>
<th>老师姓名</th>
<th><a href="teaStuController!addpage">添加</a></th>
</tr>
<s:iterator var="tea" value="#request.teaList">
<tr>
<td><input type="checkbox" name="ids" value="<s:property value="#tea.TId"/>"/></td>
<td><s:property value="#tea.TId"/></td>
<td>
????????????(这位迭代一直报错)
</td>
<td><s:property value="#tea.TName"/></td>
<td> <a href="teaStuController!updatePage?teacher.TId=<s:property value="#tea.TId"/>"> 修改</a>
<a href="teaStuController!deleteOne?teacher.TId=<s:property value="#tea.TId"/>"> 删除</a>
</td>
</tr>
</s:iterator>
我中间用了C标签迭代报错,后来改用S标签迭代几次还是报错,求教大神 多对多这里应该怎么迭代,还是我其他代码错了,谢谢了.
这个地方改一下
@Resource(name="sessionFactory")
SessionFactory sessionFactory;
public List findAll(String each,PageUtil page) {
Session session = sessionFactory.openSession();
String eachType="%"+each+"%";
Query query=session.createQuery("select t from Teacher t where t.TName like '"+eachType+"'");
query.setFirstResult(page.getPageIndex()*page.getPageSize()-page.getPageSize());
query.setMaxResults(page.getPageSize());