栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JPA的增删改查

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JPA的增删改查

 

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();

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1013299.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号