<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Ordinary hut

    人間一福地,勝似天仙宮
    posts - 61, comments - 50, trackbacks - 0, articles - 1
    jpa簡(jiǎn)化了持久化的開發(fā),目前的開源實(shí)現(xiàn)是hibernate,商業(yè)的是toplink(也已經(jīng)開源了),其中 toplink是jpa的標(biāo)準(zhǔn)實(shí)現(xiàn),所以netbean默認(rèn)支持的是toplink,下面說一下如何用netbean6.1來生成hibernate實(shí)現(xiàn) 的jpa
    1 數(shù)據(jù)庫(kù)采用的是sqlserver2000,補(bǔ)丁sp4,數(shù)據(jù)庫(kù)名叫test4,表名叫Users
        use test4
        
    go
        
    CREATE TABLE [Users] (
            
    [username] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
            
    [password] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
            
    [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
            
    [id] [int] IDENTITY (11NOT NULL ,
            
    CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
            (
                
    [id]
            ) 
    ON [PRIMARY]
        ) 
    ON [PRIMARY]
        
    GO


    2 創(chuàng)建一個(gè)Java Application 名字叫JavaApplication2,主類默認(rèn)為Main.java

    3 添加相應(yīng)的hibernate包到系統(tǒng),右鍵library,Add Library,選擇hibernate,點(diǎn)擊Add Library(如果hibernate庫(kù)不存在,則可以安裝進(jìn)來,Tools--Plugin,選擇hibernate3.2.5,點(diǎn)擊 Install);還要把hibernate-entitymanager-3.3.2.GA下的hibernate- entitymanager.jar,以及l(fā)ib下的那三個(gè)ejb3-persistence.jar、hibernate- annotations.jar、hibernate-commons-annotations.jar加進(jìn)來;注意還要把hibernate- 3.2\lib\javassist.jar包也加進(jìn)來,驅(qū)動(dòng)包要加進(jìn)來jtds-1.2.jar

    4 右鍵項(xiàng)目名稱--New--Entity Class from Database,對(duì)話框中Database Connection中選擇數(shù)據(jù)庫(kù)的鏈接,如果沒有就new Database Connection,我的配置如下:
        name:                jtds12
        Driver Class:        net.sourceforge.jtds.jdbc.Driver
        Driver File(s):      jtds-1.2.jar
        Database URL:        jdbc:jtds:sqlserver://locahost:1433/test4
        User Name:           sa
        Password:            123456
       
    5 連接成功之后,如下圖所示
       

       
    6 選擇Users表后,next,把Users的Class Name改成User,如果想生成@NamedQueries,則選中下面的Generate Named Query Annotations for ...

    7 點(diǎn)擊Create Persistence Unit來創(chuàng)建持久化單元,在彈出對(duì)話框的Persistence Library 中選擇hibernate,表生成策略中選擇None(其中Create表示當(dāng)系統(tǒng)重新運(yùn)行的時(shí)候,會(huì)根據(jù)實(shí)體創(chuàng)建或者更新數(shù)據(jù)庫(kù)表;Drop and Create表示刪除再創(chuàng)建表)

    8 點(diǎn)擊finish,生成了User實(shí)體類和在META-INF目錄下生成了persistence.xml,通常生成的entity會(huì)把數(shù)據(jù)庫(kù)主鍵自動(dòng)生 成策略也生成出來,但是我這里沒有生成出來,所以還需手工編輯一下,打開User類,在id屬性上增加 @GeneratedValue(strategy=GenerationType.AUTO)注釋,表示采用數(shù)據(jù)庫(kù)生成主鍵的規(guī)則,即
            
        @GeneratedValue(strategy
    =GenerationType.AUTO)
        
    private Integer id;
            


    9 在Main里面測(cè)試jpa,打開Main類,在代碼編輯區(qū)右鍵--persistence--User Entity Manager,netbean會(huì)自動(dòng)生成persist函數(shù),然后修改Main函數(shù),代碼如下:
        package javaapplication2;
       
        
    import javax.persistence.EntityManager;
        
    import javax.persistence.EntityManagerFactory;
       
        
    public class Main {
       
            
    /**
             * 
    @param args the command line arguments
             
    */
            
    public static void main(String[] args) {
                Main m 
    = new Main();
                User user 
    = new User();
                user.setName(
    "haha");
                user.setUsername(
    "aaaaaaaa");
                m.persist(user);
            }
       
            
    public void persist(Object object) {
                EntityManagerFactory emf 
    = javax.persistence.Persistence.createEntityManagerFactory("JavaApplication2PU");
                EntityManager em 
    = emf.createEntityManager();
                em.getTransaction().begin();
                
    try {
                    em.persist(object);
                    em.getTransaction().commit();
                } 
    catch (Exception e) {
                    e.printStackTrace();
                    em.getTransaction().rollback();
                } 
    finally {
                    em.close();
                }
            }
       
        }
       
        運(yùn)行程序,到數(shù)據(jù)庫(kù)中查看是否插入成功;完畢!

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品成人片在线观看| 在线精品免费视频| 国产V亚洲V天堂无码久久久| 中文日本免费高清| 亚洲精品午夜国产VA久久成人| 国产福利电影一区二区三区,免费久久久久久久精 | 免费v片在线观看| 怡红院亚洲红怡院在线观看| 特级淫片国产免费高清视频| 亚洲av无码偷拍在线观看| 四虎国产精品免费久久影院| 国产亚洲精品免费| 久久精品国产精品亚洲艾草网美妙| 日韩精品一区二区亚洲AV观看 | 一区二区在线免费观看| 最近的免费中文字幕视频| 亚洲一卡2卡3卡4卡乱码 在线 | 免费精品国偷自产在线在线 | 日韩亚洲国产高清免费视频| 日本人护士免费xxxx视频| 黄色毛片免费网站| 亚洲AV永久无码精品| 成年人免费的视频| 亚洲日韩在线中文字幕综合| 亚洲一区精品无码| 麻花传媒剧在线mv免费观看| 亚洲一级大黄大色毛片| 免费一级毛片在级播放| 久久青青草原国产精品免费| 亚洲一级毛片免费在线观看| 亚洲AV成人潮喷综合网| 久久免费观看国产精品88av| 日韩亚洲人成在线| 夜夜春亚洲嫩草影院| 91网站免费观看| 成年大片免费视频播放一级| 亚洲短视频男人的影院| 日韩高清免费在线观看| 久久国产乱子伦精品免费一| 亚洲色无码国产精品网站可下载| 综合久久久久久中文字幕亚洲国产国产综合一区首 |