加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

NetBeans逆向工程生成JPA项目

(2012-07-16 19:23:13)
标签:

it

分类: 软件技术

本项目使用工具: Netbeans IDE+Oracle11g

一、创建表

sql语句为:

create table T_STU (
      STU_ID  char(5)  not null,
      STU_NAME  varchar2(8) not null,
      constraint PK_T_STU primary key (STU_ID)
);
注:可直接在命令行下输入sql语句,也可以用sql脚本文件,在命令行下执行 start d:\T_Stu.sql命令。

二、新建项目:在Netbeans 中新建JAVA WEB项目,现不添加任何框架。

三、新建 Persistent.xml配置文件,即持久性单元

1、在项目中新建文件:

选择  类别:持久性,文件类型:持久性单元

http://s1/bmiddle/68fe7e15hc4f0e769f250&690

2、新建持久单元:

(1)、持久性单元名称:默认(可修改)

(2)、持久性库:Hibernate(JPA 1.0)

(3)、数据库连接:新建数据库连接

http://s11/bmiddle/68fe7e15hc4f0f4fd62fa&690

3、新建数据库连接(新建连接向导):

(1)、驱动程序:新建驱动程序,导入已准备好的oracle11g驱动程序ojbc6.jar

http://s16/bmiddle/68fe7e154c4f13106063f&690

(2)、确定,下一步:(将各参数设为跟自己主机匹配的值,并测试连接成功否)
http://s7/bmiddle/68fe7e154c4f1386abb86&690

(3)、确定,下一步,点击完成

 

http://s4/bmiddle/68fe7e154c4f13e817333&690

4、回到新建持久性单元,点击完成

http://s11/bmiddle/68fe7e154c4f143b57c3a&690

5、在配置文件目录下,自动生成persistence.xml文件,查看代码:

http://s3/bmiddle/68fe7e154c4f14f58a482&690
6、persistence.xml配置文件完成。
四、新建实体类:

(1)、新建文件,类别:持久化 ;文件类型:通过数据库生成实体类

 http://s7/bmiddle/68fe7e15hc4f199076106&690

(2)、选择数据库表,T_Stu表

http://s7/bmiddle/68fe7e15hc4f1a7a478a6&690

(3)、下一步,填入表名(entity),下一步

http://s1/bmiddle/68fe7e15hc4f1a7af7140&690

(4)、默认,完成

http://s5/bmiddle/68fe7e15hc4f1a7e61254&690

(5)、Pojo类,即实体类生成成功,部分代码如下:

http://s11/bmiddle/68fe7e15hc4f1a80b10da&690

http://s6/bmiddle/68fe7e15hc4f1a8187e95&690

五、创建DAO类

(1)、新建文件:选择类别,持久性;选择文件类型:基于实体类的JPA控制器类(相当于DAO类)

http://s13/bmiddle/68fe7e15h7a182d755aec&690

(2)、选择对应实体类,entity.TStu.java类
http://s10/bmiddle/68fe7e15h7a182d78ce19&690

(3)、修改包名controller,确认
http://s12/bmiddle/68fe7e15hc4f1c6cec43b&690
(4)、TStuJpaController类自动生成,代码如下:
http://s12/bmiddle/68fe7e15hc4f1c707affb&690

http://s9/bmiddle/68fe7e15hc4f1c71ab428&690

http://s8/bmiddle/68fe7e15hc4f1c73a25c7&690
(5)、重要的一步:修改TStuJpaController类中的

 private EntityManagerFactory emf = null;

修改为:

private EntityManagerFactory emf = Persistence.createEntityManagerFactory("testJPAPU");

六、导入各种jar包,如下:

http://s6/bmiddle/68fe7e154c4f239f3bb25&690

七、编写测试类Test.java,如下:


package test;

import controller.TStuJpaController;
import controller.exceptions.PreexistingEntityException;
import entity.TStu;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.transaction.UserTransaction;


public class Test {
     public static void main(String args[]) throws PreexistingEntityException, Exception{
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("testJPAPU");
        UserTransaction utx = null;
        TStuJpaController tstuCon=new TStuJpaController(utx,emf);
        TStu stu1=new TStu();
         stu1.setStuId("33333");
         stu1.setStuName("aaaaa");
         tstuCon.create(stu1);
        
         TStu stu2=new TStu();
         stu2.setStuId("44444");
         stu2.setStuName("bbbbb");
         tstuCon.create(stu2); 
        
         List<TStu> stuList=new ArrayList<TStu>() ;
         stuList=tstuCon.findTStuEntities();
         for(int i=0;i<stuList.size();i++){     
             System.out.println(stuList.get(i).getStuId()+"     "+stuList.get(i).getStuName());
         }
    }
}

执行Test.java类,查看结果

http://s14/bmiddle/68fe7e15hc4fd7ffbc67d&690
再验证数据库里是否添加成功!
http://s3/bmiddle/68fe7e15hc4fd801ceef2&690

项目大功告成!OK。。。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有