<dependency> <groupId>javax.jdo</groupId> <artifactId>jdo-api</artifactId> <version>2.3-eb</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-core</artifactId> <version>3.0.0-release</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-api-jdo</artifactId> <version>3.0.0-release</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-enhancer</artifactId> <version>3.0.1</version> </dependency> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0"> <persistence-unit name="myPersistenceUnit" transaction-type="RESOURCE_LOCAL"> <class>com.example.MyEntity</class> <properties> <property name="javax.jdo.PersistenceManagerFactoryClass" value="org.datanucleus.api.jdo.JDOPersistenceManagerFactory"/> <property name="javax.jdo.option.ConnectionURL" value="jdbc:mysql://localhost/mydatabase"/> <property name="javax.jdo.option.ConnectionDriverName" value="com.mysql.jdbc.Driver"/> <property name="javax.jdo.option.ConnectionUserName" value="myusername"/> <property name="javax.jdo.option.ConnectionPassword" value="mypassword"/> <property name="javax.jdo.option.NontransactionalRead" value="true"/> <property name="javax.jdo.option.NontransactionalWrite" value="true"/> </properties> </persistence-unit> </persistence> import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import javax.jdo.annotations.PrimaryKey; @PersistenceCapable public class MyEntity { @PrimaryKey private long id; @Persistent private String name; // getters and setters } import javax.jdo.PersistenceManager; import javax.jdo.Query; import javax.jdo.Transaction; import java.util.List; public class Main { public static void main(String[] args) { PersistenceManager pm = PMF.get().getPersistenceManager(); Transaction tx = pm.currentTransaction(); try { tx.begin(); MyEntity entity = new MyEntity(); entity.setId(1); entity.setName("example"); pm.makePersistent(entity); Query<MyEntity> query = pm.newQuery(MyEntity.class); List<MyEntity> entities = query.executeList(); for (MyEntity e : entities) { System.out.println(e.getId() + ": " + e.getName()); } tx.commit(); } finally { if (tx.isActive()) { tx.rollback(); } pm.close(); } } }


上一篇:
下一篇:
切换中文