Jpql和ejb注解

package com.tudou.t1Test; import java.util.List; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; @Stateless(mappedName = "StudentDaoBean") public class StudentDaoBean implements StudentDao { // 动态生成entityManager @PersistenceContext public EntityManager em; public boolean addStu(Student student) { try { em.persist(student); } catch (Exception e) { return false; } return true; } public boolean updateStu(Student student) { try { em.merge(student); } catch (Exception e) { return false; } return true; } public boolean delStu(int sid) { try { Student s = selectOneById(sid); em.remove(s); // Query query = em // .createQuery("delete from Student as s where s.sid =?1"); // // 占位符从1开始 // query.setParameter(1, sid); // if (query.executeUpdate() <= 0) { // return false; // } } catch (Exception e) { return false; } return true; } // 使用EntityManager获取对象 public Student selectOneById(int id) { Student s = null; try { s = em.find(Student.class, id); } catch (Exception e) { return null; } return s; } // 使用JPQL词句获取对象order by,group by,having,max,min此处不作详细赘述 public Student getOneById(int id) { Student s = null; try { Query query = em .createQuery("select s from Student as s where sid =?1"); // 占位符从1开始 query.setParameter(1, id); s = (Student) query.getSingleResult(); } catch (Exception e) { return null; } return s; } @SuppressWarnings("unchecked") public List<Student> queryStudents() { Query query = em.createQuery("select s from Student as s"); return query.getResultList(); } }


package com.tudou.t1Test; import java.io.Serializable; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; @SuppressWarnings("serial") @Entity @Table(name = "tb_student") public class Student implements Serializable { @Id @GeneratedValue private int sid; // optional指定有student时必须有class.立即检索 @ManyToOne(optional = false, cascade = { CascadeType.PERSIST, CascadeType.PERSIST, CascadeType.REFRESH }, fetch = FetchType.EAGER) @JoinColumn(name = "cid") private Classes classes; private String stuNo; private String stuName; private String createDate; public Student() { super(); } public Student(Classes classes, String stuNo, String stuName, String createDate) { super(); this.classes = classes; this.stuNo = stuNo; this.stuName = stuName; this.createDate = createDate; } public Student(int sid, Classes classes, String stuNo, String stuName, String createDate) { super(); this.sid = sid; this.classes = classes; this.stuNo = stuNo; this.stuName = stuName; this.createDate = createDate; } public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public Classes getClasses() { return classes; } public void setClasses(Classes classes) { this.classes = classes; } public String getStuNo() { return stuNo; } public void setStuNo(String stuNo) { this.stuNo = stuNo; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public String getCreateDate() { return createDate; } public void setCreateDate(String createDate) { this.createDate = createDate; } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值