学生选课查询

model层代码的实现是三个类,代码如下:

Course.java

package com.mvc.test.model;

@Entity(name="Course")

public class Course extends BaseEntity{

private static final long serialVersionUID = 230505289995335654L;

@NotNull

private String cname;

@NotNull

private String cid;

private String  classroom;

private String teacher;


public String getCname() {

return cname;

}


public void setCname(String cname) {

this.cname = cname;

}


public String getCid() {

return cid;

}

public void setCid(String cid) {

this.cid = cid;

}

public String getClassroom() {

return classroom;

}

public void setClassroom(String classroom) {

this.classroom = classroom;

}

public String getTeacher() {

return teacher;

}

public void setTeacher(String teacher) {

this.teacher = teacher;

}

public Course(String cname, String cid, String classroom, String teacher) {

super();

this.cname = cname;

this.cid = cid;

this.classroom = classroom;

this.teacher = teacher;

}

public Course() {

super();

}

}


StudentCourse.java

package com.mvc.test.model;

@Entity(name = "B_STUDENT_COURSE")

public class StudentCourse implements Serializable {

@Id

private Long courseId;

@Id

private Long studentId;

public Long getCourseId() {

return courseId;

}

public void setCourseId(Long courseId) {

this.courseId = courseId;

}

public Long getStudentId() {

return studentId;

}

public void setStudentId(Long studentId) {

this.studentId = studentId;

}

}


Undergraduate.java

package com.mvc.test.model;

@Entity(name="UNDERGRADUATE")

public class Undergraduate extends BaseEntity{

private static final long serialVersionUID = 230505289995335654L;

private String uname;

private String uid;

private Integer age;

private String grade;

public String getUname() {

return uname;

}

public void setUname(String uname) {

this.uname = uname;

}

public String getUid() {

return uid;

}

public void setUid(String uid) {

this.uid = uid;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getGrade() {

return grade;

}

public void setGrade(String grade) {

this.grade = grade;

}

public Undergraduate() {

super();

// TODO Auto-generated constructor stub

}

public Undergraduate(String uname, String uid, Integer age, String grade) {

super();

this.uname = uname;

this.uid = uid;

this.age = age;

this.grade = grade;

}

}



service层的代码实现如下:


CoursManager.java

@Service

public class CourseManager extends BaseService<Course, Serializable>{

}

 

StudentCourseManager.java

@Service

public class StudentCourseManager extends BaseService<StudentCourse, Serializable>{

}


UndergraduateManager.java


@Service

public class UndergraduateManager extends BaseService<Undergraduate, Serializable>{

@Autowired

private StudentCourseManager studentCourseManager;

public void saveWithCourse(Undergraduate undergraduate, Long courseId){

super.save(undergraduate);

if(courseId!=null){

StudentCourse uconnection = new StudentCourse();

uconnection.setCourseId(courseId);

uconnection.setStudentId(undergraduate.getObjectId());

studentCourseManager.save(uconnection);

}

}

   public List<StudentCourse> searchStudentByCourseId(Long courseId){

  List<StudentCourse> studentId=studentCourseManager.searchByNativeSql(StudentCourse.class, "select * from B_STUDENT_COURSE where course_id = "+courseId);

  return studentId;

   }

   public List<Undergraduate> searchStudentByStudentId(List<StudentCourse> studentId){

  Iterator it=studentId.iterator();

  List<Undergraduate> students=null;

  StringBuffer sb = new StringBuffer();

  while(it.hasNext()){

  StudentCourse studentcourse=(StudentCourse) it.next();

  Long studentid=studentcourse.getStudentId();

  sb.append(","+studentid);

  }

  String sql="SELECT * FROM UNDERGRADUATE A WHERE A.object_id in( 0"+sb+")";

  students=searchByNativeSql(Undergraduate.class,sql);

  return students;

   }

}



Controller层的代码如下:


CourseController.java

@Controller

@RequestMapping("course")

public class CourseController extends PageController<Course>{

@Autowired

private CourseManager courseManager;

@Override

public PageManager<Course> getEntityManager() {

return courseManager;

}


@Override

public String getFileBasePath() {

return "student/";

}

@RequestMapping(value = "/delete")

public String deletefile(HttpServletRequest request, HttpServletResponse response, @PathVariable Long objectId)

throws Exception {

return handleDelete(request, response, objectId);

}

protected String handleDelete(HttpServletRequest request, HttpServletResponse response, Long objectId)

throws Exception {

getManager().delete(objectId);

return "student/deleteOK" ;

}

}



StudentCourseController.java


@Controller

@RequestMapping("undergraduatecourse")

public class StudentCourseController extends PageController<Undergraduate> {


@Autowired

private CourseManager courseManager;

@Autowired

private StudentManager studentManager;

@Autowired

private StudentCourseManager cuconnectionManager;

@Autowired

private UndergraduateManager undergraduateManager;

@Override

public PageManager<Undergraduate> getEntityManager() {

return undergraduateManager;

}


@Override

public String getFileBasePath() {

return "student/";

}

@RequestMapping(value = "/addstudent")

public String addstudent(HttpServletRequest request,

HttpServletResponse response)

throws Exception {

return "student/editUndergraduate";

}

protected String handleSave(HttpServletRequest request, ModelMap modelMap, Undergraduate t) throws Exception {

Long  courseId = null;

if(StringUtils.isNotBlank(request.getParameter("courseId"))){

try{

courseId = Long.parseLong(request.getParameter("courseId"));

}catch(Exception e){

}

}

undergraduateManager.saveWithCourse(t,courseId);

return "student/saveStudent";

}

}


UndergraduateController.java


@Controller

@RequestMapping("undergraduate")

public class UndergraduateController extends PageController<Undergraduate>{

@Autowired

private UndergraduateManager undergraduateManager;


@Override

public PageManager<Undergraduate> getEntityManager() {

return undergraduateManager;

}


@Override

public String getFileBasePath() {

return "student/";

}

@RequestMapping(value = "/addstudent")

public String addstudent(HttpServletRequest request,

HttpServletResponse response)

throws Exception {

return "student/editUndergraduate";

}

protected String handleSave(HttpServletRequest request, ModelMap modelMap, Undergraduate t) throws Exception {

Long  courseId = null;

if(StringUtils.isNotBlank(request.getParameter("courseId"))){

try{

courseId = Long.parseLong(request.getParameter("courseId"));

}catch(Exception e){

}

}

undergraduateManager.saveWithCourse(t,courseId);

return "student/saveStudent";

}

@RequestMapping(value ="/findstudent/{objectId}")

public String findstudent( HttpServletRequest request, HttpServletResponse response, @PathVariable Long objectId ) throws Exception {

List<StudentCourse> studentIdCollection=undergraduateManager.searchStudentByCourseId(objectId);

List<Undergraduate> students=undergraduateManager.searchStudentByStudentId(studentIdCollection);

request.setAttribute("student", students);

        return "student/showdatebase";

}

}








转载于:https://my.oschina.net/u/2508413/blog/526190

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值