JPA之使用JPQL语句操作数据库

来源:互联网 发布:科比布莱恩特生涯数据 编辑:程序博客网 时间:2024/05/18 01:53

在PersonTest.java类中添加如下代码进行测试:

@Testpublic void query(){EntityManagerFactory factory = Persistence.createEntityManagerFactory("sunft_first");EntityManager em = factory.createEntityManager();       //参数占位符是固定写法Query query = em.createQuery("select o from Person o where o.id = ?1");query.setParameter(1, 12);//如果查找不到则会抛出异常//Person person = (Person) query.getSingleResult();//System.out.println(person.getName());List<Person> persons = query.getResultList();for(Person person : persons){System.out.println(person.getName());}em.close();factory.close();}@Testpublic void deletequery(){EntityManagerFactory factory = Persistence.createEntityManagerFactory("sunft_first");EntityManager em = factory.createEntityManager();em.getTransaction().begin();//开始事务//参数占位符是固定写法Query query = em.createQuery("delete from Person o where o.id = ?1");query.setParameter(1, 12);//如果数据库中不存在该记录,也不会报错query.executeUpdate();em.getTransaction().commit();em.close();factory.close();}@Testpublic void queryupdate(){EntityManagerFactory factory = Persistence.createEntityManagerFactory("sunft_first");EntityManager em = factory.createEntityManager();em.getTransaction().begin();//开始事务//参数占位符是固定写法Query query = em.createQuery("update Person o set o.name = :name where o.id = :id");query.setParameter("name", "XXX");query.setParameter("id", 14);//如果数据库中不存在该记录,也不会报错query.executeUpdate();em.getTransaction().commit();em.close();factory.close();}


阅读全文
0 0
原创粉丝点击