Programmieren > Sprachen > Java

Java Persistance API mit NetBeans

Ein einfaches Programm

Voraussetzungen

Vorbereitungen

CREATE TABLE IF NOT EXISTS `friend` ( 
  `id` int(11) NOT NULL  NULL AUTO_INCREMENT PRIMARY KEY, 
  `name` varchar(100) DEFAULT NULL 
); 
 
INSERT INTO `friend` (`id`, `name`) VALUES (1, 'Hendrik'),(2, 'Jürgen'),(3, 'Günter');

Das Programm schreiben

package de.erichweigand.dbtest; 
 
import javax.persistence.EntityManager; 
import javax.persistence.EntityManagerFactory; 
import javax.persistence.Persistence; 
 
public class DbTest { 
 
    public static void main(String[] args) { 
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("DbTestPU"); 
        EntityManager em = emf.createEntityManager(); 
        try { 
            String query = "SELECT f FROM Friend f"; 
            em.createQuery(query, Friend.class) 
                    .getResultList() 
                    .stream() 
                    .forEach((f) -> { 
                        System.out.println(f.getName()); 
                    }); 
        } catch (Exception e) { 
            e.printStackTrace(); 
            em.getTransaction().rollback(); 
        } finally { 
            em.close(); 
        } 
    } 
 
}

CRUD

Create

Friend friend = new Friend(); 
friend.setName("Chris"); 
em.getTransaction().begin(); 
em.persist(friend); 
em.getTransaction().commit();

Read

Friend friend = em.find(Friend.class,3); 
System.out.println(friend.getName());

Update

Friend friend = em.find(Friend.class,3); 
friend.setName("Michael"); 
em.getTransaction().begin(); 
em.merge(friend); 
em.getTransaction().commit();

Delete

Friend friend = em.find(Friend.class,3); 
em.getTransaction().begin(); 
em.remove(friend); 
em.getTransaction().commit();