1. /**
    2. * 条件查询
    3. * 案例:查询客户名称以“腾讯”开头的客户
    4. * sql : SELECT * FROM cst_customer WHERE cust_name LIKE ?
    5. * jpql: FROM Customer WHERE custName like ?
    6. */
    7. @Test
    8. public void testCondition(){
    9. //1.获取entityManager对象
    10. EntityManager entityManager = JpaUtils.getEntityManager();
    11. //2.开启事务
    12. EntityTransaction transaction = entityManager.getTransaction();
    13. transaction.begin();
    14. //3.查询全部
    15. //i.根据jpql语句创建查询对象
    16. String jpql = "from Customer where custName like ?";
    17. Query query = entityManager.createQuery(jpql);
    18. //ii.对参数赋值 -- 占位符参数
    19. //第一个参数:占位符的索引位置(从1)开始,第二个参数:取值
    20. query.setParameter(1,"腾讯%");
    21. //iii.发送查询,封装结果集
    22. /**
    23. * getResultList:直接将查询结果封装为list集合
    24. * getSingleResult:得到唯一的结果集
    25. */
    26. List list = query.getResultList();
    27. for (Object obj : list){
    28. System.out.println(obj);
    29. }
    30. //4.提交事务
    31. transaction.commit();
    32. //5.释放资源
    33. entityManager.close();
    34. }