jpql简单l查询
Posted yscec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jpql简单l查询相关的知识,希望对你有一定的参考价值。
JPQL全称Java Persistence Query Language
package com.ytkj.test; import com.ytk.utils.JpaUtils; import org.junit.Test; import javax.persistence.EntityManager; import javax.persistence.EntityTransaction; import javax.persistence.Query; import java.util.List; /** * jpql测试 */ public class JpqlTest { /** * 查询全部 */ @Test public void findAll(){ EntityManager entityManager = JpaUtils.getEntityManager(); //开启事务 EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库 String jpql="from Customer"; Query query = entityManager.createQuery(jpql); //查询 List list = query.getResultList(); for (Object o : list) { System.out.println(o); } //5.提交事务 transaction.commit(); //6.释放资源 entityManager.close(); } /** * 排序查询 */ @Test public void findAllOrderBy(){ EntityManager entityManager = JpaUtils.getEntityManager(); //开启事务 EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库 String jpql="from Customer order by custId desc"; Query query = entityManager.createQuery(jpql); //查询 List list = query.getResultList(); for (Object o : list) { System.out.println(o); } //5.提交事务 transaction.commit(); //6.释放资源 entityManager.close(); } /** * 查询总数 */ @Test public void getCount(){ EntityManager entityManager = JpaUtils.getEntityManager(); //开启事务 EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库 String jpql="select count(custId) from Customer "; Query query = entityManager.createQuery(jpql); //查询 Object result = query.getSingleResult(); System.out.println(result); //5.提交事务 transaction.commit(); //6.释放资源 entityManager.close(); } /** * 分页查询 */ @Test public void getByPage(){ EntityManager entityManager = JpaUtils.getEntityManager(); //开启事务 EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库 int pageNum=0; int pageSize=2; String jpql=" from Customer"; Query query = entityManager.createQuery(jpql); //对分页参数赋值 query.setFirstResult(pageNum); query.setMaxResults(pageSize); //查询 List list = query.getResultList(); for (Object o : list) { System.out.println(o); } //5.提交事务 transaction.commit(); //6.释放资源 entityManager.close(); } /** * 条件查询 */ @Test public void getByCondition(){ EntityManager entityManager = JpaUtils.getEntityManager(); //开启事务 EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库 String jpql=" from Customer where custName like ?"; Query query = entityManager.createQuery(jpql); //对占位符参数赋值 query.setParameter(1,"zhe%"); //查询 List list = query.getResultList(); for (Object o : list) { System.out.println(o); } //5.提交事务 transaction.commit(); //6.释放资源 entityManager.close(); } }
以上是关于jpql简单l查询的主要内容,如果未能解决你的问题,请参考以下文章