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();
}
}
原文:https://www.cnblogs.com/yscec/p/11993006.html