<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)航:
     
    主站蜘蛛池模板: 美女被吸屁股免费网站| 中文字幕a∨在线乱码免费看| 国产一级高清视频免费看| 一二三区免费视频| 亚洲另类精品xxxx人妖| mm1313亚洲精品无码又大又粗| 久久国产免费观看精品| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲人成人无码网www国产| 亚洲黄色免费网站| jizz免费观看| 亚洲欧美日韩综合久久久| 国产AV无码专区亚洲AWWW | 国产免费丝袜调教视频| 特级毛片全部免费播放| 亚洲综合在线成人一区| 亚洲国产精品丝袜在线观看| 久视频精品免费观看99| 黄 色一级 成 人网站免费| 一本天堂ⅴ无码亚洲道久久| 亚洲成av人片天堂网| mm1313亚洲精品国产| 一个人免费观看视频www| 免费一级毛片无毒不卡| 香蕉视频免费在线| 亚洲高清视频在线| 亚洲视频2020| 亚洲精品无码乱码成人| 国产精品酒店视频免费看| 日韩在线播放全免费| 在线观看特色大片免费网站| 亚洲av无码有乱码在线观看| 亚洲成人网在线播放| 亚洲午夜未满十八勿入网站2| 国产精品免费一级在线观看| 台湾一级毛片永久免费| 91在线老王精品免费播放| 99久久成人国产精品免费| 免费视频精品一区二区| 国产亚洲欧美日韩亚洲中文色| 亚洲天堂中文字幕在线观看|