package test.entity;
import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import org.junit.Test;
import com.taoistwar.jpa.entity.Users;
public class UserInfoTest {
@Test
public void save() {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAPU");
emf.close();
}
@Test
public void find() {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("JPAPU");
EntityManager em = emf.createEntityManager();
Users ui = em.find(Users.class, 1);
System.out.println(ui.getName());
emf.close();
}
@Test
public void getReference() {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("JPAPU");
EntityManager em = emf.createEntityManager();
Users ui = em.getReference(Users.class, 1);
System.out.println(ui.getName());
emf.close();
}
// 新建
// 托管
// 游离
// 删除
@Test
public void update() {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("JPAPU");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Users ui = em.find(Users.class, 1);
ui.setName("老张");
ui.setPassword("tao");
ui.setBirthday(new Date());
em.getTransaction().commit();
emf.close();
}
@Test
public void update2() {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("JPAPU");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Users ui = em.find(Users.class, 1);
em.clear(); // 把实体管理器中的所有实体改变成游离状态
ui.setName("宁");
ui.setPassword("tao");
ui.setBirthday(new Date());
em.merge(ui); // 把实体管理器中的游离状态的实体更新到数据库中
em.getTransaction().commit();
emf.close();
}
@Test
public void delete() {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("JPAPU");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Users ui = em.getReference(Users.class, 1);
em.remove(ui); // 把托管状态的实体删除
em.getTransaction().commit();
emf.close();
}
@Test
public void query1() {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("JPAPU");
EntityManager em = emf.createEntityManager();
Query query = em.createQuery("select o from UserInfo o where o.id = ?1");
query.setParameter(1, 1);
Users ui = (Users) query.getSingleResult();
System.out.println(ui.getName());
}
@Test
public void query2() {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("JPAPU");
EntityManager em = emf.createEntityManager();
Query query = em.createQuery("select o from UserInfo o where o.id = :id");
query.setParameter("id", 1);
List<Users> list = query.getResultList();
for (Users ui : list) {
System.out.println(ui.getName());
}
}
}