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

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

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

    夢開始的地方

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      4 隨筆 :: 0 文章 :: 3 評論 :: 0 Trackbacks

    2006年9月11日 #

     Hibernate 的 一對一因映射關系,one-to-one的配置,有一些疑問
     舉例說明
    ?? Person.java
    ? class Person{
    ??private Mark mark;
    ? private int personId;
    ??private name;
    ?//get 和 set 方法深省略

    }
    ??
    ?Mark.java
    class Mark{
    private int markid;
    private Person;
    //get和 set方法省略
    }
    //映射文件
    Person.hbm.xml
    <class name="test.Person" table="person">
    ?<id name="personId" type="integer">
    ??????????? <column name="personId" />
    ??????????? <generator class="increment" />
    ??? </id>
    <one-to-one name="address" class="test.Mark" cascade="save-update" />
    </class>


    Mark.hbm.xml
    <class name="test.Mark" table="mark">
    ??<id name="markId" type="integer">
    ??????????? <column name="addressId" />
    ??????????? <generator class="increment" />
    ??</id>
    <one-to-one name="address" class="test.Person" />
    </class>

    我的需求是:
    增加或者修改表person表時,同時更新表mark表內容,而且不使用共享主鍵,每個表都有獨立的主鍵,我這樣配置時,始終報錯,希望高手指點~在線等
    posted @ 2006-10-17 18:42 Dushengjun 閱讀(364) | 評論 (0)編輯 收藏

    ?????? 在使用windows系統時,我們會發現,一種類型的文件總是可以用指定的應用程序打開,如:doc文件,雙擊可以打開文件,在使用delphi開發應用程序時,同樣需要實現上邊的功能,其核心就獲取系統當前的文件,而ParamStr函數起到了非常重要的作用,先面我們簡單用 Delphi開發以個應用程序來說明問題:
    首先,用 delphi新建立一個工程,然后分別創建窗體MainFrm,MyMDIChildForm,添加相應的控件,如下圖

    ?????????? ?
    ?????????????????????????????????????? ??? MainFrm

    ???????????????
    ????????????????????????????????????????? ? MyMDIChildForm



    代碼如下:
    Unit1.pas(對應于MainFrm窗體)
    unit Unit1;

    interface

    uses
    ? Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    ? Dialogs, Menus,Unit2, ComCtrls;

    type
    ? TMainFrm = class(TForm)
    ??? MainMenu1: TMainMenu;
    ??? ItemNew: TMenuItem;
    ??? N1: TMenuItem;
    ??? N2: TMenuItem;
    ??? N3: TMenuItem;
    ??? OpenDialog1: TOpenDialog;
    ??? StatusBar1: TStatusBar;
    ??? procedure ItemNewClick(Sender: TObject);
    ??? procedure N3Click(Sender: TObject);
    ??? procedure FormShow(Sender: TObject);
    ??? function CreateMDI():TMyMDIChildForm;
    ? private
    ??? { Private declarations }
    ? public
    ??? { Public declarations }
    ? end;

    var
    ? MainFrm: TMainFrm;

    implementation


    {$R *.dfm}

    procedure TMainFrm.ItemNewClick(Sender: TObject);
    var
    child: TMyMDIChildForm;
    begin
    ?child:= TMyMDIChildForm.create(Self);
    end;

    procedure TMainFrm.N3Click(Sender: TObject);

    begin
    ? if opendialog1.Execute then
    ?? begin

    ????? CreateMDI.RichEdit1.Lines.LoadFromFile(opendialog1.FileName);
    ????? Self.StatusBar1.Panels[1].Text:=opendialog1.FileName;
    ?? end;

    end;

    procedure TMainFrm.FormShow(Sender: TObject);
    var
    ?FileName:String;
    begin
    ?? FileName:=ParamStr(1);
    ?? if FileExists(FileName) then
    ??? begin
    ????? CreateMDI.RichEdit1.Lines.LoadFromFile(FileName);
    ??? end;
    end;

    ?

    function TMainFrm.CreateMDI: TMyMDIChildForm;
    var
    child: TMyMDIChildForm;
    begin
    ??? child:= TMyMDIChildForm.create(Self);
    ??? Result:=child;
    end;

    end.
    unit2.pas(對應于MyMDIChildForm窗體)
    unit Unit2;

    interface

    uses
    ? Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    ? Dialogs, StdCtrls, ComCtrls;

    type
    ? TMyMDIChildForm = class(TForm)
    ??? RichEdit1: TRichEdit;
    ??? procedure FormClose(Sender: TObject; var Action: TCloseAction);
    ? private
    ??? { Private declarations }
    ? public
    ??? { Public declarations }
    ? end;

    var
    ? MyMDIChildForm: TMyMDIChildForm;

    implementation

    {$R *.dfm}

    procedure TMyMDIChildForm.FormClose(Sender: TObject;
    ? var Action: TCloseAction);
    begin
    ?Action:=caFree;
    end;

    end.
    這樣我們實現了一個簡單的記事本程序,運行結果如下圖:


    ??????????????


    然后,我們將工程保存,并生成最終的EXE文件,然后我們在Windows系統目錄任意創建一個文件,
    如下圖ResumeAction.java文件

    ?????????????????????????

    然后將它的打開方式設置成我們自己的可執行程序
    ???????????????????????????????????

    然后再雙擊此文件,程序正確運行,并將它打開了!
    ????????????

    程序的核心就是paramStr函數,它獲得了系統接口,得到了當前的文件名稱!

    點擊下載

    posted @ 2006-09-20 22:00 Dushengjun 閱讀(602) | 評論 (0)編輯 收藏

    ?????? Spring是當前比較流行的基于Java語言的MVC框架,所謂框架也就是它已經實現好了諸多東西,使java開發人員能把精力盡量放在業務邏輯上.
    ?????? Spring技術的特點是IOC, 即反向注入,主要應用的是XML技術和POJO(簡單Java對象),Spring要達到的目的其實很簡單,就是盡量簡化原來Java中的地層數據訪問的問題,眾所周知,傳統的使用Java訪問地層數據庫的方法是使用JDBC,如下的代碼:
    ?? try{
    ?????? }catch(SQLException e){
    ?????????????????? Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");/以MS SQL SERVER為例
    ?????????????????? Connection conn=DriverManager.getConnection(connurl,username,password);
    ???????????????? ? Statement stmt=conn.createStatement();
    ??????????????? ? ?ResultSet rs=stmt.executeQuery(sql);
    ???????? //實現業務邏輯的代碼
    ???????????????????System.out.println("產生異常:"+e);
    ????????? }
    可以看到為了訪問數據庫,我們需要這么多多余的模式的代碼,而且又要拋出不同的異常,代碼可維護性比較差,而且不利于開發人員把精力投放到最終的業務邏輯上.上邊的功能如果選擇使用Spring實現,那就變得的非常簡單了:
    ??<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    ??<property name="url" value="${database.url}"></property>
    ??<property name="driverClassName" value="${database.driver}"></property>
    ??<property name="username" value="${database.user}"></property>
    ??<property name="password" value="${database.password}"></property>
    ?</bean>??
    我們只需要培植上文的XML文件,然后在真正使用數據庫時,用
    ????? ApplicationContext?? ctx=new?? FileSystemXmlApplicationContext("beans.xml");
    ??????? DriverManagerDataSource ds=(DriverManagerDataSource)ctx.getBean("datasource");
    兩條語句完成數據源的獲得,這就簡化掉了相當多的模式代碼,讓我們更加關心業務邏輯的實現了~?
    ?????
    posted @ 2006-09-11 13:16 Dushengjun 閱讀(949) | 評論 (3)編輯 收藏

    主站蜘蛛池模板: 最新亚洲人成无码网站| 亚洲另类无码专区首页| a级特黄毛片免费观看| 亚洲欧洲中文日韩久久AV乱码| 久久久久亚洲AV无码去区首| 午夜dj免费在线观看| 福利片免费一区二区三区| 国产一区二区免费在线| 亚洲av片在线观看| 免费jjzz在线播放国产| 噜噜综合亚洲AV中文无码| 亚洲国产黄在线观看| 精品久久久久久国产免费了| 亚洲午夜福利717| 24小时日本电影免费看| 亚洲综合色7777情网站777| 在线播放高清国语自产拍免费| 欧洲亚洲国产精华液| 亚洲日韩aⅴ在线视频| 一级特黄aa毛片免费观看| 亚洲综合区图片小说区| 成人免费看黄20分钟| 精品在线免费视频| 中文字幕第一页亚洲| 精品国产免费一区二区三区香蕉 | 暖暖日本免费在线视频| 亚洲6080yy久久无码产自国产| 亚洲伦乱亚洲h视频| 未满十八18禁止免费无码网站 | 男人的好看免费观看在线视频| 亚洲精品久久久久无码AV片软件| 国产又大又黑又粗免费视频| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲日韩AV无码一区二区三区人| 女人被弄到高潮的免费视频 | 无码人妻精品中文字幕免费 | 亚洲精品天堂成人片AV在线播放| 亚洲国产成人精品女人久久久 | 一级毛片正片免费视频手机看 | 亚洲熟妇无码AV不卡在线播放| 亚洲av高清在线观看一区二区 |