springdata之jpa的crud.
初始化
private EntityManagerFactory managerFactory; @Before public void init(){ managerFactory = Persistence.createEntityManagerFactory("myjpa"); }
//添加的方法
@Test public void addCutomer(){ EntityManager entityManager = managerFactory.createEntityManager(); EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); for (int i = 0; i <10 ; i++) { Customer customer = new Customer(); customer.setCustName("测试"+i); customer.setCustAddress("张三"+i); customer.setCustLevel("白卡"+i); customer.setCustPhone("12345"+i); entityManager.persist(customer); } transaction.commit(); entityManager.close(); }
//删除的方法
@Test public void deleteCustomer(){ EntityManager entityManager = managerFactory.createEntityManager(); EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); Customer customer = entityManager.find(Customer.class, 1L); entityManager.remove(customer); transaction.commit(); entityManager.close(); }
//修改的方法
@Test public void updateCustomer(){ EntityManager entityManager = managerFactory.createEntityManager(); EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); Customer customer = entityManager.find(Customer.class, 2L); customer.setCustName("张安"); customer.setCustPhone("66666"); customer.setCustLevel("钻石卡"); entityManager.merge(customer); transaction.commit(); entityManager.close(); }
//根据ID查询【getReference】的方法,
@Test public void getCustomer(){ EntityManager entityManager = managerFactory.createEntityManager(); Customer customer = entityManager.getReference(Customer.class, 2L); // 延时加载 getReference方法执行之后 访问对象的属性时 才执行 System.out.println("我执行了"); System.out.println(customer); entityManager.close(); }
//根据ID查询【find】的方法
@Test public void findCustomer(){ EntityManager entityManager = managerFactory.createEntityManager(); Customer customer = entityManager.find(Customer.class, 2L); // 该方法 是及时加载 find方法执行之后 sql 语句执行 System.out.println("我执行了"); System.out.println(customer); entityManager.close(); }
上一篇文章有六个步骤,可以参考上面文章进行测试。
浙公网安备 33010602011771号