@TestpublicvoidtestCount(){//获取EntityManager对象
EntityManager em = JpaUtils.getEntityManager();//获取事务
EntityTransaction tx = em.getTransaction();//开启事务
tx.begin();//查询
String jpql ="select count(id) from Customer";
Query query = em.createQuery(jpql);//发送查询,获取唯一的结果
Object result = query.getSingleResult();
System.out.println(result);//提交事务
tx.commit();
em.close();}
条件查询
/*
* 条件查询
* jpql:from Customer where name = ?(name是实体类的属性)
* sql:select * from customer where name = ?
* */@TestpublicvoidtestCondition(){//获取EntityManager对象
EntityManager em = JpaUtils.getEntityManager();//获取事务
EntityTransaction tx = em.getTransaction();//开启事务
tx.begin();//根据jpql语句创建Query查询对象
String jpql ="from Customer where name = ?";
Query query = em.createQuery(jpql);//对参数进行赋值--对占位符赋值(参数1:占位符的索引,从1开始;参数2:占位符的值)
query.setParameter(1,"黑马");//发送查询,
List result = query.getResultList();
System.out.println(result);//提交事务
tx.commit();
em.close();}
排序
/*
* 倒序查询(根据id倒序,默认是升序)
* jpql: from Customer order by id desc(这个id是实体类的id)
* sql:select * from customer order by id desc
* */@TestpublicvoidtestOrders(){//获取EntityManager对象
EntityManager em = JpaUtils.getEntityManager();//获取事务
EntityTransaction tx = em.getTransaction();//开启事务
tx.begin();//查询
String jpql ="from Customer order by id desc";
Query query = em.createQuery(jpql);//发送查询,并封装结果集
List list = query.getResultList();
System.out.println(list);//提交事务
tx.commit();
em.close();}