JPQL:Java Persistence Query Language 即java持久化查詢語言
jpql和sql查詢之間的區別
sql :sql語句中查詢的是表和表中的字段
jpql:sql語句中查詢的是實體類和實體類中對應的屬性
首先建立一個工程,具體的工程我的博客裏面有,大家可以去找一下
然後創建test測試類
package com.w.test;
import com.w.entity.Customer;
import com.w.util.JpaUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import java.util.List;
public class TestJpql {
EntityManager entityManager;
EntityTransaction transaction;
@Before
public void before(){
entityManager = JpaUtils.getEntityManager();
transaction = entityManager.getTransaction();
transaction.begin();
}
@After
public void after(){
transaction.commit();
entityManager.close();
}
@Test
public void testFindAll(){
Query query = entityManager.createQuery("from com.w.entity.Customer ");
List<Customer> customers = query.getResultList();
for (Customer customer : customers) {
System.out.println(customer);
}
}
@Test
public void testOrder(){
Query query = entityManager.createQuery("from com.w.entity.Customer ORDER BY cId desc");
List<Customer> customers = query.getResultList();
for (Customer customer : customers) {
System.out.println(customer);
}
}
@Test
public void testCount(){
Query query = entityManager.createQuery("select count(cId) from com.w.entity.Customer ORDER BY cId desc");
Object result = query.getSingleResult();
System.out.println(result);
}
@Test
public void testLimit(){
Query query = entityManager.createQuery("from com.w.entity.Customer ORDER BY cId desc");
//顯示多少條
query.setMaxResults(2);
//起始條數
query.setFirstResult(0);
List<Customer> customers = query.getResultList();
for (Customer customer : customers) {
System.out.println(customer);
}
}
@Test
public void testCondition(){
//問號後面的數字表示的是第幾個佔位符
Query query = entityManager.createQuery("from com.w.entity.Customer where cName like ?1");
query.setParameter(1,"%三%");
//顯示多少條
query.setMaxResults(2);
//起始條數
query.setFirstResult(0);
List<Customer> customers = query.getResultList();
for (Customer customer : customers) {
System.out.println(customer);
}
}
}
jpaUtils
package com.w.util;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class JpaUtils {
static EntityManagerFactory factory;
static {
factory = Persistence.createEntityManagerFactory("jpa1");
}
public static EntityManager getEntityManager(){
return factory.createEntityManager();
}
}