spring data jpa 代碼實現 增刪改查


package cn.kgc.test;

import cn.kgc.pojo.Customer;
import org.junit.*;

import javax.persistence.*;
import java.util.List;

public class CustomerTest {

private EntityManager entityManager;

@Before
public void init(){
EntityManagerFactory factory = Persistence.createEntityManagerFactory("myjpa");
entityManager=factory.createEntityManager();
}
//添加信息 persist
@Test
public void addFirst(){
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
for(int i=0;i<10;i++){
Customer customer = new Customer();
customer.setCstName("大神"+i);
customer.setCstAddress("懶人中心"+i);
customer.setCstLevel("vip");
entityManager.persist(customer);
}
transaction.commit();
entityManager.close();
}

//刪除信息 remove
@Test
public void deleteTest(){
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Customer customer = entityManager.find(Customer.class, 2l);
entityManager.remove(customer);
transaction.commit();
entityManager.close();
}

//修改信息 merge
@Test
public void updateTest(){
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Customer customer = entityManager.find(Customer.class, 3l);
customer.setCstName("小小");
customer.setCstAddress("北京");
customer.setCstLevel("svip");
entityManager.merge(customer);
transaction.commit();
entityManager.close();
}

//根據ID查詢 find getReference
@Test
public void findByIdTest(){
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Customer customer = entityManager.find(Customer.class, 3l);
System.out.println(customer);
transaction.commit();
entityManager.close();
}
@Test
public void findByIdTest2(){
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Customer customer = entityManager.getReference(Customer.class, 3l);
System.out.println(customer);
transaction.commit();
entityManager.close();
}

//查詢所有
@Test
public void findAllTest(){
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Query query = entityManager.createQuery("from Customer");
List<Customer> resultList = query.getResultList();
for(Customer customer:resultList){
System.out.println(customer);
}
entityManager.close();
}

//分頁查詢
@Test
public void findPageTest(){
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Query query = entityManager.createQuery("from Customer");
query.setFirstResult(0);
query.setMaxResults(5);
List<Customer> resultList = query.getResultList();
for(Customer customer:resultList){
System.out.println(customer);
}
entityManager.close();
}

//jpql按ID查詢
@Test
public void jpqlFindByIdTest(){
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
Query query = entityManager.createQuery("from Customer where cstId=?");
query.setParameter(1,3l);
Customer singleResult =(Customer) query.getSingleResult();
System.out.println(singleResult);
entityManager.close();
}

//模糊查詢
@Test
public void jpqlLikeFind(){
Query query = entityManager.createQuery("from Customer where cstName like ? and cstAddress like ?");
query.setParameter(1,"%神%");
query.setParameter(2,"%中%");
List<Customer> resultList = query.getResultList();
for(Customer customer:resultList){
System.out.println(customer);
}
entityManager.close();
}

//排序
@Test
public void findByOrder(){
Query query = entityManager.createQuery("from Customer order by cstId asc");
List<Customer> resultList = query.getResultList();
for(Customer customer:resultList){
System.out.println(customer);
}
entityManager.close();
}

//函數
@Test
public void mathTest(){
Query query = entityManager.createQuery("select count(*) from Customer");
Object singleResult = query.getSingleResult();
System.out.println(singleResult);
entityManager.close();
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM