现在的位置: 首页 > 综合 > 正文

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

2012年06月18日 ⁄ 综合 ⁄ 共 1122字 ⁄ 字号 评论关闭

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

//@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();
	}
【上篇】
【下篇】

抱歉!评论已关闭.