<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ù)庫采用的是sqlserver2000,補(bǔ)丁sp4,數(shù)據(jù)庫名叫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庫不存在,則可以安裝進(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ù)庫的鏈接,如果沒有就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ù)庫表;Drop and Create表示刪除再創(chuàng)建表)

    8 點(diǎn)擊finish,生成了User實(shí)體類和在META-INF目錄下生成了persistence.xml,通常生成的entity會(huì)把數(shù)據(jù)庫主鍵自動(dòng)生 成策略也生成出來,但是我這里沒有生成出來,所以還需手工編輯一下,打開User類,在id屬性上增加 @GeneratedValue(strategy=GenerationType.AUTO)注釋,表示采用數(shù)據(jù)庫生成主鍵的規(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ù)庫中查看是否插入成功;完畢!

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲乱码无限2021芒果| 亚洲一区在线视频观看| 亚洲一区欧洲一区| 男女啪啪免费体验区| 免费福利电影在线观看| 免费影院未满十八勿进网站| 国产成人免费ā片在线观看| 久久精品国产亚洲av麻豆| 91在线亚洲综合在线| 三年在线观看免费观看完整版中文| 国产一卡二卡四卡免费| 亚洲综合国产精品第一页| 亚洲国产精品综合久久久| www在线观看免费视频| 真人做A免费观看| 国产亚洲精品成人a v小说| 亚洲色图激情文学| 久久精品国产免费一区| 国产精品酒店视频免费看| 久久亚洲精品成人av无码网站| 美女视频黄频a免费| 青娱乐免费视频在线观看| 国产亚洲精品福利在线无卡一 | 三上悠亚亚洲一区高清| 亚洲乱码一二三四区乱码| 免费国产在线视频| 亚洲国产精品日韩| 在线亚洲午夜片AV大片| 外国成人网在线观看免费视频| 免费a级毛片无码a∨性按摩| 亚洲人成在线免费观看| 另类免费视频一区二区在线观看 | 一本色道久久88—综合亚洲精品| 久久er国产精品免费观看2| 亚洲精品无码久久久| 涩涩色中文综合亚洲| 2020因为爱你带字幕免费观看全集| 亚洲综合AV在线在线播放| 直接进入免费看黄的网站| 无码少妇一区二区浪潮免费| 亚洲网站在线观看|