转载请注明:来自http://blog.csdn.net/M_ChangGong/ 作者:张燕广
该篇主要编写实体bean和DAO层。
在src下创建包com.zyg.ssj.bean,并在该包中编写类Student,该类文件代码如下:
package com.zyg.ssj.bean; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class Student { private Integer stuId; private String stuName; public Student() {} public Student(String stuName) { this.stuName = stuName; } @Id @GeneratedValue public Integer getStuId() { return stuId; } public void setStuId(Integer stuId) { this.stuId = stuId; } @Column(length=20,nullable=true) public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } }
package com.zyg.ssj.dao; import java.util.List; import com.zyg.ssj.bean.Student; public interface StudentDao { /** * 保存学生信息 * @param student */ public abstract void save(Student student); /** * 根据学号删除学生信息 * @param studentId */ public abstract void delete(Integer studentId); /** * 根据学生删除学生信息 * @param studentId */ public abstract void delete(Student student); /** * 更新学生信息 * @param student */ public abstract void update(Student student); /** * 根据学号获取学生信息 * @param studentId */ public abstract Student getStudent(Integer studentId); /** * 获取全部学生信息 * @param studentId */ @SuppressWarnings("unchecked") public abstract List<Student> getStudents(); }
在src下创建包com.zyg.ssj.dao.jpa,并在该包下创建接口StudentDao的实现类StudentDaoImpl,该类文件内容如下:
package com.zyg.ssj.dao.jpa; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.zyg.ssj.bean.Student; import com.zyg.ssj.dao.StudentDao; @Transactional public class StudentDaoImpl implements StudentDao { @PersistenceContext private EntityManager em; /* (non-Javadoc) * @see com.zyg.ssj.dao.jpa.StudentDao#save(com.zyg.ssj.bean.Student) */ public void save(Student student){ System.out.println(student.getStuName()); em.persist(student); } /* (non-Javadoc) * @see com.zyg.ssj.dao.jpa.StudentDao#delete(java.lang.Integer) */ public void delete(Integer studentId){ em.remove(em.getReference(Student.class, studentId)); } /* (non-Javadoc) * @see com.zyg.ssj.dao.jpa.StudentDao#delete(com.zyg.ssj.bean.Student) */ public void delete(Student student){ em.remove(em.getReference(Student.class, student.getStuId())); } /* (non-Javadoc) * @see com.zyg.ssj.dao.jpa.StudentDao#update(com.zyg.ssj.bean.Student) */ public void update(Student student){ em.merge(student); } /* (non-Javadoc) * @see com.zyg.ssj.dao.jpa.StudentDao#getStudent(java.lang.Integer) */ @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true) public Student getStudent(Integer studentId){ return em.find(Student.class, studentId); } /* (non-Javadoc) * @see com.zyg.ssj.dao.jpa.StudentDao#getStudents() */ @SuppressWarnings("unchecked") @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true) public List<Student> getStudents(){ return (List<Student>)em.createQuery("select s from Student s") .getResultList(); } }
至此,实体bean和DAO层代码编写完成,下一篇我们编写service层代码。
代码都已经编写完毕,但是现在很困了,明天接着写吧。
在src下创建包com.zyg.ssj.dao,并在该包下创建接口StudentDao,该接口文件内容如下: