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

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

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

    隨筆 - 115  文章 - 481  trackbacks - 0
    <2006年10月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(19)

    隨筆檔案(115)

    文章檔案(4)

    新聞檔案(1)

    成員連接

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

      我們知道,在EasyDBO最后一個測試版本中,增加了使用注解來配置對象及關系表映射的功能。前段時間看到有人在問注解中怎么配置主鍵屬性及主鍵生成器,由于在開發文檔中使用的是默認配置,所以文檔中使用了下面的例子:
    import java.io.Serializable;
    import java.util.Date;import com.easyjf.dbo.annotation.*;
    @Table(tableName="message")
    publicclass Message implements Serializable{
      @TableField(name="cid")
      privateString cid;
      @TableField(name="title")
      private String title1;
      @TableField(name="content")
      private String content1;
      @TableField(name="inputUser")
      private String inputUser;
      @TableField(name="inputTime")
      private Date inputTime;
      @TableField(name="publish")
      private Boolean publish1;
      @TableField(name="status")
      private Integer status1;
      public String getCid() {
        return cid;
      }
      publicvoid setCid(String cid) {
        this.cid = cid;
      }
      //...
      //其它的getter及setter方法
    }
     
     這里面沒有演示怎么配置主鍵屬性及生成器,我們分別來看看@Table及@TabelField兩個標簽的源代碼:
    ?
    package com.easyjf.dbo.annotation;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    /**
    ?* 用于定義表結構的標簽
    ?* @author 大峽
    ?*
    ?*/
    @Retention(RetentionPolicy.RUNTIME)
    public @interface Table {
    ?/**
    ? * 表名
    ? * @return
    ? */
    ?String tableName();
    ?/**
    ? * 表主鍵
    ? * @return
    ? */
    ?String keyField() default "cid";
    ?/**
    ? * 主鍵值生成器
    ? * @return
    ? */
    ?String keyGenerator() default "com.easyjf.dbo.RandomIdGenerator";?
    ?
    }
    ?
      由源碼可以看到,@Table有三個屬性,tableName用來定義表名,keyField用來定義主鍵屬性,keyGenerator用來定義主鍵生成器。而keyField與keyGenerator有一個默認值,前面的Message類定義由于使用了默認值,因此沒有使用keyField及keyGenerator。若要自定義自己的默認值,可以寫成如下形勢:
    @Table(tableName="message",keyField="id",keyGenerator="com.easyjf.dbo.NullIdGenerator")
    publicclass Message implements Serializable{
      ...
    }
    ?
    ?
      再來看看@TableField的源文件:
    package com.easyjf.dbo.annotation;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    /**
    ?* 用于定義表字段的標簽
    ?* @author 大峽
    ?*
    ?*/
    @Retention(RetentionPolicy.RUNTIME)
    public @interface TableField
    {
    ?public String name() ;??
    ?boolean lazy() default false;
    ?boolean unique() default false;
    }
    ?
      由于已經把lazy及unique給了默認值,所以我們看到示例中只定義了屬性對應的例即可。
    ?
      @TableField只定義了普通的屬性,另外還有OneToOne、ManyToOne、ManyToMany等屬性,詳細請參考EasyDBO開發文檔。
    ????? http://www.easyjf.com/easydbo/devguide.htm
    ?
      另外,關于注解配置應該還會在正式版本中加入一些比較適用的內容,EasyDBO也還會作一些調整,請關注!

    (本文作者 EasyJF開源 大峽)
    posted on 2006-10-26 10:08 簡易java框架 閱讀(1056) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 精精国产www视频在线观看免费| 亚洲一区二区三区在线观看精品中文| 亚洲一区精品中文字幕| 久久免费精彩视频| 亚洲日日做天天做日日谢| 国产h肉在线视频免费观看| 亚洲国产亚洲片在线观看播放| 免费国产黄网站在线观看视频| 色婷婷亚洲十月十月色天| 亚欧人成精品免费观看| 国产精品亚洲专区在线观看| 免费无码黄十八禁网站在线观看| 麻豆狠色伊人亚洲综合网站| 日韩在线a视频免费播放| 免费中文字幕视频| 久久国产精品亚洲综合| 亚洲av日韩综合一区二区三区| 好吊妞788免费视频播放| 亚洲AV无码专区国产乱码不卡| 免费a级毛片大学生免费观看 | 中文字幕在线免费观看视频| 黄+色+性+人免费| 久久国产亚洲精品| 免费国产真实迷j在线观看| 一级成人毛片免费观看| 成年私人影院免费视频网站| 免费在线观看亚洲| 亚洲精品无码成人片久久| 精品国产_亚洲人成在线| 日韩精品亚洲aⅴ在线影院| 91精品视频在线免费观看| 激情内射亚洲一区二区三区爱妻 | 亚洲综合国产精品| 可以免费看的卡一卡二| 无码乱人伦一区二区亚洲一| 国产大片线上免费观看 | 亚洲AV乱码一区二区三区林ゆな| 日本片免费观看一区二区| 亚洲aⅴ无码专区在线观看| 亚洲国产精品无码久久久蜜芽| 久久不见久久见中文字幕免费|