首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

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

2012-09-19 
JPA视频学习(二)JPQL查询语句可以使用位置参数和命名参数://@Testpublic void query(){//读取不用开启事务

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();
}

热点排行