1.插入(直接放入new的对象)
测试
@Test
public void test01(){
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myJpa");
//创建实体信息
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
//开启事务
transaction.begin();
//new出来的对象是临时状态
User user=new User();
user.setUsername("454");
user.setPassword("111111");
user.setAge(13);
//插入的方法
entityManager.persist(user);
//提交事务
transaction.commit();
entityManager.close();
}
2.删除(先根据id查询到数据,再删除)
//删除
@Test
public void test03(){
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myJpa");
//创建实体信息
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
//开启事务
transaction.begin();
User user = entityManager.find(User.class, 1);
entityManager.remove(user);
//提交事务
transaction.commit();
entityManager.close();
}
3.修改
//修改2 如果new对象没有放数据,修改的merge方法会直接插入一条语句 修改前提会先查一下数据 //如果直接new对象放入部分数据,就会将放入的数据进行修改,其他直接恢复初始化数据 //正常修改语句,必须先查询一下这条数据,然后进行修改,不会改变其他结构 //1>如果修改的时候,直接new对象,id不存在,会自动插入一条新的数据,并且id是自增的话会跟着原来的id自增加一。2>如果先查询出语句,但id不存在,会报空指针异常。
修改时直接new对象
@Test
public void test05(){
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myJpa");
//创建实体信息
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
//开启事务
transaction.begin();
User user = new User();
//id不存在·时候,会插入数据
user.setId(55);
user.setUsername("王岗");
entityManager.merge(user);
//提交事务
transaction.commit();
entityManager.close();
}
修改时先查询
@Test
public void test04(){
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myJpa");
//创建实体信息
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
//开启事务
transaction.begin();
User user = entityManager.find(User.class, 2);
user.setPassword("111111");
user.setUsername("娜娜");
//entityManager.merge(user);
//提交事务
transaction.commit();
entityManager.close();
}
4.查询
//find
@Test
public void test06(){
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myJpa");
//创建实体信息
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
User user1 = entityManager.find(User.class, 2);
entityManager.close();
System.out.println(user1);
}
//getReference
@Test
public void test07(){
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myJpa");
//创建实体信息
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
User reference = entityManager.getReference(User.class, 1);
System.out.println(reference);
entityManager.close();
}



