读书人

JPA视频学习(2)JPQL查询语句

发布时间: 2012-09-19 13:43:53 作者: rapoo

JPA视频学习(二)JPQL查询语句

可以使用位置参数和命名参数:

//@Test
public void query(){
//读取不用开启事务
EntityManagerFactory fac=Persistence.createEntityManagerFactory("HelloJPAPU");
EntityManager em=fac.createEntityManager();
Query query=em.createQuery("select o from Person o where o.id=?3");
query.setParameter(3, 1);//使用位置查询
Person person=(Person) query.getSingleResult();//前提是此记录存在,否则这句话会报错
System.out.println(person.getName());
em.close();
fac.close();
}

//@Test
public void deletequery(){
EntityManagerFactory fac=Persistence.createEntityManagerFactory("HelloJPAPU");
EntityManager em=fac.createEntityManager();
em.getTransaction().begin();
Query query=em.createQuery("delete from Person o where o.id=?3");
query.setParameter(3, 1);//使用位置参数
query.executeUpdate();
em.getTransaction().commit();
em.close();
fac.close();
}

@Test
public void updatequery(){
EntityManagerFactory fac=Persistence.createEntityManagerFactory("HelloJPAPU");
EntityManager em=fac.createEntityManager();
em.getTransaction().begin();
Query query=em.createQuery("update Person o set o.name=:name where o.id=:id");
query.setParameter("name", "persia");//使用命名参数
query.setParameter("id", 2);
query.executeUpdate();
em.getTransaction().commit();
em.close();
fac.close();
}

读书人网 >软件架构设计

热点推荐