Использование операций J CR завершенных

Основные операции CRUD следующим образом:

  1  пакет cn.itheima.test;
  2  
  3  импорта cn.itcast.domain.Customer;
  4  импорта cn.itcast.utils.JpaUtils;
  5  импорта org.junit.Test;
  6  
  7  импорта javax.persistence.EntityManager;
  8  импорта javax.persistence.EntityManagerFactory;
  9  импорта javax.persistence.EntityTransaction;
10  импорта javax.persistence.Persistence;
11  
12  общественного  класса JpaTest {
 13  
14      / ** 
15       *测试JPA的保存
 16      * Корпус: сохранить клиент в базу данных
 17       * JPA шаги
 18       * 1. Загрузите создание завода профиля (диспетчера объектов фабрики) объекты
 19       * 2. Менеджер субъекта менеджера завода субъектом приобрел
 20       * 3. Получить дела объекты, открытые сделки
 21       * 4. полные операции CRUD
 22       * 5. фиксации транзакции (транзакция отката)
 23       * 6. освободить ресурсы
 24       * / 
25      @Test
 26      общественных  пустот testSave () {
 27  //         // . 1. создание профиля нагрузки завод (управляющий объектом завод) объекты
 28  //         EntityManagerFactory = фабрикант Persistence.createEntityManagerFactory ( «myJpa»);
 29  //         // 2. приобретающего предприятия менеджер сущностей менеджер завод
 30  //        ЭМ = factory.createEntityManager EntityManager (); 
31          EntityManager ЕМ = JpaUtils.getEntityManager ();
 32          // 3. Приобретение объекта транзакции, транзакция открытия 
33          EntityTransaction em.getTransaction TX = (); // Получить объект транзакции 
34          tx.begin ( ); // открытая транзакционные
 35          // 4. выполнить операции CRUD: клиент , чтобы сохранить базу данных 
36          клиент = клиент новый новый клиента ();
 37 [          customer.setCustName ( "Chi Chuan подкаст" );
 38 является          customer.setCustIndustry ( " Образование " );
 39          // сохранить, 
40          EM.сохраняется (Заказчик); // операция сохранения
 41          // 5 зафиксировать транзакцию 
42          tx.commit ();
 43          // 6. Выпускные ресурсы 
44          em.close ();
 45          //        factory.close (); 
46  
47      }
 48  
49      / ** 
50       * идентификатор в соответствии с клиентом запрашивает
 51       * использовать метод поиска , чтобы запросить:
 52       * 1. сам объект запроса текущих целевых клиентов
 53       * 2. при вызове методов находят для запроса оператор SQL базы данных будут отправлены
 54       *
 55       * Теперь загрузка
 56       *
 57       *
 58       * /
59      @Test
 60      общественных   пустот testFind () {
 61          // 1. приобретенные инструменты EntityManager 
62          EntityManager EntityManager = JpaUtils.getEntityManager ();
 63          // 2. Открытие транзакции 
64          EntityTransaction TX = entityManager.getTransaction ();
 65          TX. Бегина ();
 66          // 3. CRUD - запрос идентификатора клиента 
67          / ** 
68           * Найти: идентификатор запроса данных
 69           * класс: результаты запроса типов данных , которые будут упакованы сущности класса байткод
 70           * ID: первичный ключ запроса значение
 71           * / 
72         Клиент = EntityManager Клиент. Найти (Заказчик. Класс , 1L );
 73          // из System.out.print (Заказчик);
 74          // 4. зафиксировать транзакцию 
75          tx.commit ();
 76          // 5. высвободить ресурсы 
77          EntityManager. Close ();
 78      }
 79  
80      / ** 
81       * клиент ID запроса
 82       * метод getReference
 83       * 1. Получить объект представляет собой динамический прокси - объект
 84       * 2. метод не сразу отправить вызов оператор getReference SQL запросов к базе данных
 85       * * при вызове запроса объекта результата , когда заявление будет отправлена SQL - запрос: когда использовать, когда для отправки инструкций SQL для запроса к базе данных
86       *
 87       * задержка загрузка (отложенная загрузка)
 88       * * полученная динамический объект прокси
 - 89       * * при использовании, использование того , что будет запрашивать
 90       * / 
91      @Test
 92      общественных   пустоты testReference () {
 93          // . 1. приобретенные инструменты EntityManager 
94          EntityManager EntityManager = JpaUtils.getEntityManager ();
 95          // 2. открытие транзакции 
96          EntityTransaction TX = entityManager.getTransaction ();
 97          tx.begin ();
 98          // 3. CRUD - The запросы клиентов ID 
99          / ** 
100          * GetReference: запрос данные на основе ID
 101           * классе: результаты запроса типов данных , которые должны быть упакованы сущность класса байткод
 102           * Идентификатор: ключ запрос первичного значения
 103           * / 
104          . EntityManager Клиента = Клиент GetReference . (Заказчик класс , 1L );
 105          из System.out.print (Заказчик);
 106          // 4. зафиксировать транзакцию 
107          tx.commit ();
 108          // 5. Освобождение ресурсов 
109          entityManager.close ();
 110      }
 111  
112      / ** 
113       * удалить дело клиента
 114       *
 115       * /
-16      @Test
 117      общественных   пустоты testRemove () {
 -18          // 1. EntityManager приобретенного инструментов 
119          EntityManager EntityManager = JpaUtils.getEntityManager ();
 120          // 2. Открытых Услуги 
121          EntityTransaction TX = entityManager.getTransaction ();
 122          TX. Бегина ();
 123          // 3. CRUD - удалить клиенту
 124  
125          // I запрос идентификатор клиента 
126          клиента = EntityManager.find клиента (клиент. класс , 1 л );
 127          // II способа удалить вызов для завершения удаления 
128         . EntityManager Удалить (Заказчик);
 129  
130.          // 4. зафиксировать транзакцию 
131          tx.commit ();
 132          // 5. высвободить ресурсы 
133          entityManager.close ();
 134      }
 135  
136      / ** 
137       работают для обновления клиента *
 138       Слияние * (Object)
 139       * / 
140      @Test
 141      общественных   пустот testUpdate () {
 142          // 1. приобретенные инструменты EntityManager 
143          EntityManager EntityManager = JpaUtils.getEntityManager ();
 144          //2. Включите операции 
145          EntityTransaction Тх = entityManager.getTransaction ();
 146          tx.begin ();
 147          // 3. CRUD - операции обновления
 148  
149          // я запрос клиента 
150          Клиент Клиент = EntityManager.find (Заказчик. класс , 1L );
 151          // II обновление клиента 
152          customer.setCustIndustry ( "IT - образование" );
 153          . EntityManager Merge (заказчик);
 154  
155          // 4. зафиксировать транзакцию 
156          tx.commit ();
 157          // . 5. релиз ресурсы 
158         entityManager.close ();
159      }
 160  
161 }

Описание: найти () и getReference () разница:

По запросам клиентов Ид с 
    помощью найти способ запроса: 
    сам объект 1. Объект запроса является текущим клиентом 
    2. При вызове методы находит для запроса оператора базы данных SQL будет отправлен 
немедленно загружен 
============= ======================================== в 
соответствии с клиентом запросы ID getReference метод 
         1. приобретенного объект представляет собой динамический прокси - объект 
         2. вызов метода getReference не сразу отправить SQL заявление , запрос к базе данных 
             * при вызове объекта результата запроса , когда SQL оператор отправляет запрос: когда использовать, когда для отправки инструкций SQL для запросов к базе данных 
отложенной загрузки ( отложенная загрузка) 
     * прибудет представляет собой динамический прокси - объект 
     * когда использовать то , что использование будет запрашивать
    

 

рекомендация

отwww.cnblogs.com/116970u/p/11589895.html