zoukankan      html  css  js  c++  java
  • jpa入门案例----使用jpa对数据库进行查询、删除、修改操作

    配置文件、依赖、实体类的创建方法在上一篇博客《使用jpa对数据库进行添加数据》的博客中写的有

    一、查询操作

     @Test
    //根据id查找
    public void find(){
    EntityManagerFactory factory = Persistence.createEntityManagerFactory("myjpa");
    EntityManager entityManager = factory.createEntityManager();
    Customer customer = entityManager.getReference(Customer.class, 6L);//第一个参数是实体类名,第二个参数是id
    //也可以使用下面这个方法查询
    Customer customer1 = entityManager.find(Customer.class, 8L);
    }


    二、删除操作
    要先查询在删除
     @Test
    public void testDelete(){
    //创建工厂
    EntityManagerFactory factory = Persistence.createEntityManagerFactory("myjpa");
    //创建一个EntityManager对象
    EntityManager entityManager = factory.createEntityManager();
    //使用entityManager对象开启事物
    EntityTransaction transaction = entityManager.getTransaction();
    transaction.begin();
    Customer customer = entityManager.find(Customer.class, 1L);
    // System.out.println(customer);
    //执行删除操作
    entityManager.remove(customer);
    transaction.commit();
    }

    三、修改
    同样要先进查询操作,然后再进行修改操作
    //修改
    @Test
    public void update(){
    EntityManagerFactory factory = Persistence.createEntityManagerFactory("myjpa");
    EntityManager entityManager = factory.createEntityManager();
    EntityTransaction transaction = entityManager.getTransaction();
    //开启事物
    transaction.begin();
    //先查询
    Customer customer = entityManager.find(Customer.class, 8L);
    //修改
    customer.setCustName("aaa");
    //执行修改命令
    entityManager.persist(customer);
    //提交事物
    transaction.commit();
    //释放资源
    entityManager.close();
    factory.close();

    }
  • 相关阅读:
    pycharm使用小技巧
    多线程的异常处理
    零星
    python的多线程 ThreadPoolExecutor
    零星
    python的轮询timer 和js的轮询setInterval
    fcitx 输入框纵向
    Gvim配置
    窗口,父窗口parentwindow,所有者窗口ownerwindow
    Request对象 --web浏览器向web服务端的请求
  • 原文地址:https://www.cnblogs.com/Hubert-dzl/p/11636853.html
Copyright © 2011-2022 走看看