多语言展示
当前在线:1823今日阅读:27今日分享:41

Eclipse jee下JPA的开发配置

OpenJPA 是 Apache 组织提供的开源项目,它的前身是BEA公司的Kodo Java Persistence API,于2006年7月捐献给ASF(Apache Software Foundation),并于2007年8月28日发布了OpenJPA 1.0.0版本。OpenJPA 100%实现了 EJB 3.0(JSR220) 中的 JPA 标准,为开发者提供功能强大、使用简单的持久层数据管理框架。OpenJPA 当然实现了对象关系映射(ORM)与对象关系等功能。OpenJPA 除了可以运行在符合EJB 3.0 标准的EJB容器中之外,还可以作为独立的持久层框架,轻松地与其它JavaEE应用框架集成。
工具/原料

JDK 1.5、Eclipse jee、 OpenJPA、 Mysql、 Apache Tomcat

方法/步骤
1

配置JPA。点击window --> Preferences的“参数选择”对象框当中选择JPA;接着,点击Configure User Libraries,在用户类库当中将OpenJPA的核心包以及依赖的外部包文件加到OpenJPA Library当中。配置后的效果图如下所示:

2

配置数据库连接,点击window --> Preferences的“参数选择”对象框当中选择Connectivity--> Driver Definitions,在数据库的选择项当中选择Mysql,并添加Mysql JDBC Driver。最终的效果如下图所示:

3

创建新的JPA Project:点击File --> New --> Other,在弹出的创建向导当中选择JPA,如下图所示:

4

点击Next(下一步)。在窗口当中输入项目名称,比如JPATraining,其它默认

5

点击Next(下一步)

6

各项默认就可以了,点击下一步

7

一切都默认就可以,因为之前已经配置完了。最后点击Finish。最后,可以在Project Explorer当中看到src/META-INF/下面多了两个文件,一个叫persistence.xml,另一个叫orm.xml

8

程序的编写:1、数据库脚本 程序代码 Create TABLE ECA_USER(  ID INT NOT NULL AUTO_INCREMENT,  NAME VARCHAR(20) NOT NULL,  LOGINID VARCHAR(20) NOT NULL,  PASSWORD VARCHAR(32) NOT NULL,  AGE INT NOT NULL,  PRIMARY KEY(ID));2,Entity 程序代码 package com.suneca.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;import javax.persistence.GeneratedValue;import static javax.persistence.GenerationType.IDENTITY;/*** * @author ChenYuzhe* @version 1.0* Create-Time:2008-7-16 下午06:55:22*/@Entity@Table(name='ECA_USER')public class User {        @Id    @GeneratedValue(strategy=IDENTITY)    private int id;        @Column(name = 'NAME')    private String name;        @Column(name = 'LOGINID')    private String loginId;        @Column(name = 'PASSWORD')    private String password;        @Column(name = 'AGE')    private int age;    public int getId() {        return id;    }    public String getName() {        return name;    }    public String getLoginId() {        return loginId;    }    public String getPassword() {        return password;    }    public int getAge() {        return age;    }    public void setId(int id) {        this.id = id;    }    public void setName(String name) {        this.name = name;    }    public void setLoginId(String loginId) {        this.loginId = loginId;    }    public void setPassword(String password) {        this.password = password;    }    public void setAge(int age) {        this.age = age;    }    }3,测试类的编写 程序代码 package com.suneca.test;import javax.persistence.EntityManager;import javax.persistence.EntityManagerFactory;import javax.persistence.Persistence;import javax.persistence.EntityTransaction;import com.suneca.entity.User;/*** * @author ChenYuzhe* @version 1.0* Create-Time:2008-7-16 下午06:55:08*/public class UserTest {        public static void main(String[] args){            // get Entity Manager        EntityManagerFactory factory = Persistence.createEntityManagerFactory('MyJPA');        long startTime = System.currentTimeMillis();        EntityManager em = factory.createEntityManager();                // get Transaction and Begin Transaction        EntityTransaction transaction = em.getTransaction();        transaction.begin();        User user = new User();        user.setName('陈毓哲');        user.setLoginId('zizz');        user.setPassword('admin');        user.setAge(28);                    em.persist(user);        // Commit            transaction.commit();        long endTime = System.currentTimeMillis();        System.out.println(endTime - startTime);        em.close();    }}4,persistence.xml的修改 程序代码                     org.apache.openjpa.persistence.PersistenceProviderImpl                com.suneca.entity.User                                                                            

注意事项

JPA即Java Persistence API,它是是EJB 3.0 规范 (JSR 220) 中引入的标准对象关系可持续性。

推荐信息