﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-梦开始的地方</title><link>http://www.blogjava.net/dushengjun/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 07:56:04 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 07:56:04 GMT</pubDate><ttl>60</ttl><item><title>关于one-to-one的配置问题</title><link>http://www.blogjava.net/dushengjun/archive/2006/10/17/75717.html</link><dc:creator>Dushengjun</dc:creator><author>Dushengjun</author><pubDate>Tue, 17 Oct 2006 10:42:00 GMT</pubDate><guid>http://www.blogjava.net/dushengjun/archive/2006/10/17/75717.html</guid><wfw:comment>http://www.blogjava.net/dushengjun/comments/75717.html</wfw:comment><comments>http://www.blogjava.net/dushengjun/archive/2006/10/17/75717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dushengjun/comments/commentRss/75717.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dushengjun/services/trackbacks/75717.html</trackback:ping><description><![CDATA[　Hibernate　的　一对一因映射关系，one-to-one的配置，有一些疑问<br />　举例说明<br />   Person.java<br />  class Person{<br />  private Mark mark;<br />  private int personId;<br />  private name;<br /> //get 和　set 方法深省略<br /><br />}<br />  <br /> Mark.java<br />class Mark{<br />private int markid;<br />private Person;<br />//get和　set方法省略<br />}<br />//映射文件<br />Person.hbm.xml<br />&lt;class name="test.Person" table="person"&gt;<br /> &lt;id name="personId" type="integer"&gt;<br />            &lt;column name="personId" /&gt;<br />            &lt;generator class="increment" /&gt;<br />    &lt;/id&gt;<br />&lt;one-to-one name="address" class="test.Mark" cascade="save-update" /&gt;<br />&lt;/class&gt;<br /><br /><br />Mark.hbm.xml<br />&lt;class name="test.Mark" table="mark"&gt;<br />  &lt;id name="markId" type="integer"&gt;<br />            &lt;column name="addressId" /&gt;<br />            &lt;generator class="increment" /&gt;<br />  &lt;/id&gt;<br />&lt;one-to-one name="address" class="test.Person" /&gt;<br />&lt;/class&gt;<br /><br />我的需求是：<br />在<strong>增加</strong>或者<strong>修改</strong>表person表时，同时更新表mark表内容,而且不使用共享主键，每个表都有独立的主键,我这样配置时，始终报错，希望高手指点～在线等<br /><img src ="http://www.blogjava.net/dushengjun/aggbug/75717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dushengjun/" target="_blank">Dushengjun</a> 2006-10-17 18:42 <a href="http://www.blogjava.net/dushengjun/archive/2006/10/17/75717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>delphi实现文件的关联</title><link>http://www.blogjava.net/dushengjun/archive/2006/09/20/70934.html</link><dc:creator>Dushengjun</dc:creator><author>Dushengjun</author><pubDate>Wed, 20 Sep 2006 14:00:00 GMT</pubDate><guid>http://www.blogjava.net/dushengjun/archive/2006/09/20/70934.html</guid><wfw:comment>http://www.blogjava.net/dushengjun/comments/70934.html</wfw:comment><comments>http://www.blogjava.net/dushengjun/archive/2006/09/20/70934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dushengjun/comments/commentRss/70934.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dushengjun/services/trackbacks/70934.html</trackback:ping><description><![CDATA[
		<p>       在使用windows系统时，我们会发现，一种类型的文件总是可以用指定的应用程序打开，如:doc文件，双击可以打开文件，在使用delphi开发应用程序时，同样需要实现上边的功能，其核心就获取系统当前的文件，而ParamStr函数起到了非常重要的作用，先面我们简单用 Delphi开发以个应用程序来说明问题:<br />首先，用 delphi新建立一个工程,然后分别创建窗体MainFrm,MyMDIChildForm,添加相应的控件,如下图</p>
		<p align="left">           <img src="http://blog.matrix.org.cn/resources/adu2008/FrmMain.jpg" /> <br />                                           MainFrm<br /><br />                <img src="http://blog.matrix.org.cn/resources/adu2008/mdichild.jpg" /><br />                                            MyMDIChildForm<br /><br /><br /><br />代码如下:<br />Unit1.pas(对应于MainFrm窗体)<br />unit Unit1;</p>
		<p>interface</p>
		<p>uses<br />  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br />  Dialogs, Menus,Unit2, ComCtrls;</p>
		<p>type<br />  TMainFrm = class(TForm)<br />    MainMenu1: TMainMenu;<br />    ItemNew: TMenuItem;<br />    N1: TMenuItem;<br />    N2: TMenuItem;<br />    N3: TMenuItem;<br />    OpenDialog1: TOpenDialog;<br />    StatusBar1: TStatusBar;<br />    procedure ItemNewClick(Sender: TObject);<br />    procedure N3Click(Sender: TObject);<br />    procedure FormShow(Sender: TObject);<br />    function CreateMDI():TMyMDIChildForm;<br />  private<br />    { Private declarations }<br />  public<br />    { Public declarations }<br />  end;</p>
		<p>var<br />  MainFrm: TMainFrm;</p>
		<p>implementation</p>
		<p>
				<br />{$R *.dfm}</p>
		<p>procedure TMainFrm.ItemNewClick(Sender: TObject);<br />var<br />child: TMyMDIChildForm;<br />begin<br /> child:= TMyMDIChildForm.create(Self);<br />end;</p>
		<p>procedure TMainFrm.N3Click(Sender: TObject);</p>
		<p>begin<br />  if opendialog1.Execute then<br />   begin</p>
		<p>      CreateMDI.RichEdit1.Lines.LoadFromFile(opendialog1.FileName);<br />      Self.StatusBar1.Panels[1].Text:=opendialog1.FileName;<br />   end;</p>
		<p>end;</p>
		<p>procedure TMainFrm.FormShow(Sender: TObject);<br />var<br /> FileName:String;<br />begin<br />   FileName:=ParamStr(1);<br />   if FileExists(FileName) then<br />    begin<br />      CreateMDI.RichEdit1.Lines.LoadFromFile(FileName);<br />    end;<br />end;</p>
		<p> </p>
		<p>function TMainFrm.CreateMDI: TMyMDIChildForm;<br />var<br />child: TMyMDIChildForm;<br />begin<br />    child:= TMyMDIChildForm.create(Self);<br />    Result:=child;<br />end;</p>
		<p>end.<br />unit2.pas(对应于MyMDIChildForm窗体)<br />unit Unit2;</p>
		<p>interface</p>
		<p>uses<br />  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br />  Dialogs, StdCtrls, ComCtrls;</p>
		<p>type<br />  TMyMDIChildForm = class(TForm)<br />    RichEdit1: TRichEdit;<br />    procedure FormClose(Sender: TObject; var Action: TCloseAction);<br />  private<br />    { Private declarations }<br />  public<br />    { Public declarations }<br />  end;</p>
		<p>var<br />  MyMDIChildForm: TMyMDIChildForm;</p>
		<p>implementation</p>
		<p>{$R *.dfm}</p>
		<p>procedure TMyMDIChildForm.FormClose(Sender: TObject;<br />  var Action: TCloseAction);<br />begin<br /> Action:=caFree;<br />end;</p>
		<p>end.<br />这样我们实现了一个简单的记事本程序,运行结果如下图:<br /></p>
		<p>
				<br />               <img src="http://blog.matrix.org.cn/resources/adu2008/running.jpg" /><br /><br /><br />然后,我们将工程保存,并生成最终的EXE文件,然后我们在Windows系统目录任意创建一个文件,<br />如下图ResumeAction.java文件<br /><br />                          <img src="http://blog.matrix.org.cn/resources/adu2008/file1.jpg" /><br /><br />然后将它的打开方式设置成我们自己的可执行程序<br />                                    <img src="http://blog.matrix.org.cn/resources/adu2008/file2.jpg" /><br /><br />然后再双击此文件,程序正确运行,并将它打开了!<br />             <img src="http://blog.matrix.org.cn/resources/adu2008/openfile.jpg" /><br /><br />程序的核心就是<font color="#ff0000">paramStr</font>函数,它获得了系统接口,得到了当前的文件名称!<br /><br /><a href="/Files/dushengjun/系统关联.rar">点击下载</a></p>
<img src ="http://www.blogjava.net/dushengjun/aggbug/70934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dushengjun/" target="_blank">Dushengjun</a> 2006-09-20 22:00 <a href="http://www.blogjava.net/dushengjun/archive/2006/09/20/70934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅谈Spring(一)</title><link>http://www.blogjava.net/dushengjun/archive/2006/09/11/68936.html</link><dc:creator>Dushengjun</dc:creator><author>Dushengjun</author><pubDate>Mon, 11 Sep 2006 05:16:00 GMT</pubDate><guid>http://www.blogjava.net/dushengjun/archive/2006/09/11/68936.html</guid><wfw:comment>http://www.blogjava.net/dushengjun/comments/68936.html</wfw:comment><comments>http://www.blogjava.net/dushengjun/archive/2006/09/11/68936.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/dushengjun/comments/commentRss/68936.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dushengjun/services/trackbacks/68936.html</trackback:ping><description><![CDATA[       Spring是当前比较流行的基于Java语言的MVC框架,所谓框架也就是它已经实现好了诸多东西,使java开发人员能把精力尽量放在业务逻辑上.<br />       Spring技术的特点是IOC, 即反向注入,主要应用的是XML技术和POJO(简单Java对象),Spring要达到的目的其实很简单,就是尽量简化原来Java中的地层数据访问的问题,众所周知,传统的使用Java访问地层数据库的方法是使用JDBC,如下的代码:<br />   try{<br />       }catch(SQLException e){<br />                   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");/以MS SQL SERVER为例<br />                   Connection conn=DriverManager.getConnection(connurl,username,password);<br />                   Statement stmt=conn.createStatement();<br />                   ResultSet rs=stmt.executeQuery(sql);<br />         //实现业务逻辑的代码<br />                   System.out.println("产生异常:"+e);<br />          }<br />可以看到为了访问数据库,我们需要这么多多余的模式的代码,而且又要抛出不同的异常,代码可维护性比较差,而且不利于开发人员把精力投放到最终的业务逻辑上.上边的功能如果选择使用Spring实现,那就变得的非常简单了:<br />  &lt;bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt;<br />  &lt;property name="url" value="${database.url}"&gt;&lt;/property&gt;<br />  &lt;property name="driverClassName" value="${database.driver}"&gt;&lt;/property&gt;<br />  &lt;property name="username" value="${database.user}"&gt;&lt;/property&gt;<br />  &lt;property name="password" value="${database.password}"&gt;&lt;/property&gt;<br /> &lt;/bean&gt;  <br />我们只需要培植上文的XML文件,然后在真正使用数据库时,用<br />      ApplicationContext   ctx=new   FileSystemXmlApplicationContext("beans.xml");<br />        DriverManagerDataSource ds=(DriverManagerDataSource)ctx.getBean("datasource");<br />两条语句完成数据源的获得,这就简化掉了相当多的模式代码,让我们更加关心业务逻辑的实现了~ <br />      <img src ="http://www.blogjava.net/dushengjun/aggbug/68936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dushengjun/" target="_blank">Dushengjun</a> 2006-09-11 13:16 <a href="http://www.blogjava.net/dushengjun/archive/2006/09/11/68936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两种技术实现简单邮件发送</title><link>http://www.blogjava.net/dushengjun/archive/2006/09/07/68225.html</link><dc:creator>Dushengjun</dc:creator><author>Dushengjun</author><pubDate>Thu, 07 Sep 2006 04:39:00 GMT</pubDate><guid>http://www.blogjava.net/dushengjun/archive/2006/09/07/68225.html</guid><wfw:comment>http://www.blogjava.net/dushengjun/comments/68225.html</wfw:comment><comments>http://www.blogjava.net/dushengjun/archive/2006/09/07/68225.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dushengjun/comments/commentRss/68225.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dushengjun/services/trackbacks/68225.html</trackback:ping><description><![CDATA[
		<div>    最近两天，很巧,又写delphi的电子邮件客户端,还写了Java的电子邮件发送的小程序,一个是工作需要,另一个则是帮朋友的忙,有点巧.</div>
		<div>1.Java的电子有件发送程序</div>
		<div>SendMailBean.java</div>
		<div>package adu.com.kingsoft;</div>
		<div>import java.util.Date;<br />import java.util.Properties;</div>
		<div>import javax.mail.Message;<br />import javax.mail.Session;<br />import javax.mail.Transport;<br />import javax.mail.internet.InternetAddress;<br />import javax.mail.internet.MimeMessage;</div>
		<div>public class SendMailBean {</div>
		<div>    private String form;<br />    private String to;<br />    private String hostName;<br />    private String port;<br />    private String userName;<br />    private String password;<br />    private String subject;<br />    private String body;<br />    public String getBody() {<br />        return body;<br />    }<br />    public void setBody(String body) {<br />        this.body = body;<br />    }<br />    public String getSubject() {<br />        return subject;<br />    }<br />    public void setSubject(String subject) {<br />        this.subject = subject;<br />    }<br />    public String getForm() {<br />        return form;<br />    }<br />    public void setForm(String form) {<br />        this.form = form;<br />    }<br />    public String getHostName() {<br />        return hostName;<br />    }<br />    public void setHostName(String hostName) {<br />        this.hostName = hostName;<br />    }<br />    public String getPassword() {<br />        return password;<br />    }<br />    public void setPassword(String password) {<br />        this.password = password;<br />    }<br />    public String getPort() {<br />        return port;<br />    }<br />    public void setPort(String port) {<br />        this.port = port;<br />    }<br />    public String getTo() {<br />        return to;<br />    }<br />    public void setTo(String to) {<br />        this.to = to;<br />    }<br />    public String getUserName() {<br />        return userName;<br />    }<br />    public void setUserName(String userName) {<br />        this.userName = userName;<br />    }</div>
		<div>    public boolean sendMail(){<br />          Properties props=new Properties();<br />        //  props.put("mail.smtp.protocol","smtp");<br />          props.put("mail.smtp.host",hostName);<br />          props.put("mail.smtp.auth","true");<br />          props.put("mail.smpt.port",port);    <br />          Session mailsession=Session.getInstance(props,null); //得到一个发送邮件的会话<br />         <br />          Message msg=new MimeMessage(mailsession);<br />          try{<br />           msg.setFrom(new InternetAddress(this.getForm()));<br />           msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(this.getTo()));<br />           msg.setSubject(this.getSubject());<br />           msg.setSentDate(new Date());<br />           msg.setText(this.getBody());<br />           Transport transport = mailsession.getTransport("smtp");<br />           transport.connect(this.getHostName(),this.getUserName(),this.getPassword());<br />           transport.sendMessage(msg,msg.getRecipients(Message.RecipientType.TO));<br />          // System.out.println("邮件以成功发送到<a href="mailto:dushengjun@gmail.com">dushengjun@gmail.com</a>");<br />           transport.close();<br />           return true;<br />          }catch(Exception e)<br />          {<br />              System.out.println("产生异常:"+e);<br />              return false;<br />          }<br />    }</div>
		<div>}</div>
		<div> </div>
		<div>JavaMailApp .java</div>
		<div>package adu.com.kingsoft;<br />import java.util.Date;<br />import java.util.Properties;<br />public class JavaMailApp {<br />   <br />    /**<br />     * @param args<br />     */<br />    public static void main(String[] args) {<br />       System.out.println("正在准备发送.....");<br />       SendMailBean smb=new SendMailBean();<br />       smb.setUserName("dushengjun");<br />       smb.setForm("<a href="mailto:dushengjun@kingsoft.net">dushengjun@kingsoft.net</a>");<br />       smb.setHostName("mail.kingsoft.net");<br />       smb.setPassword("***************");<br />       smb.setPort("25");<br />       smb.setTo("<a href="mailto:dushengjun@gmail.com">dushengjun@gmail.com</a>");<br />       smb.setSubject("你好");<br />       smb.setBody("你好 Java");<br />       if(smb.sendMail())<br />       System.out.println("发送成功");<br />       else<br />           System.out.println("发送失败");<br />    }<br />}<br /></div>
		<div>同时将如下的包加到classpath中:</div>
		<div>activation.jar,dsn.jar,imap.jar,mailapi.jar,pop3.jar,smtp.jar</div>
		<div>可以测试了,运行一下JavaMailApp 吧</div>
		<div> </div>
		<div>2.Delphi的电子邮件客户端实现</div>
		<div> </div>
		<div>unit Unit1;</div>
		<div>interface</div>
		<div>uses<br />  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br />  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,<br />  IdTCPClient, IdMessageClient, IdSMTP, IdMessage, ComCtrls;</div>
		<div>type<br />  TForm1 = class(TForm)<br />    idSMTP: TIdSMTP;<br />    Button1: TButton;<br />    idMessage: TIdMessage;<br />    letter_subject: TEdit;<br />    me_content: TRichEdit;<br />    Label1: TLabel;<br />    Label2: TLabel;<br />    Label3: TLabel;<br />    receiver_address: TEdit;<br />    Label4: TLabel;<br />    me_address: TEdit;<br />    me_pwd: TLabel;<br />    mypassword: TEdit;<br />    Label5: TLabel;<br />    me_port: TEdit;<br />    myHostName: TEdit;<br />    Label6: TLabel;<br />    Edit1: TEdit;<br />    Label7: TLabel;<br />    Button2: TButton;<br />    OpenDialog1: TOpenDialog;<br />    procedure Button1Click(Sender: TObject);<br />    procedure Button2Click(Sender: TObject);<br />  private<br />    { Private declarations }<br />  public<br />    { Public declarations }<br />  end;</div>
		<div>var<br />  Form1: TForm1;</div>
		<div>implementation</div>
		<div>{$R *.dfm}</div>
		<div>procedure   TForm1.Button1Click(Sender:   TObject);<br />var<br /> subject           :String;<br /> rec_address       :String;<br /> self_address      :String;<br /> password          :String;<br /> content           :String;<br /> port              :Integer;<br /> hostName          :String;</div>
		<div>begin</div>
		<div>subject:=letter_subject.Text;<br />rec_address:=receiver_address.Text;<br />self_address:=me_address.Text;<br />port:=StrToInt(me_port.Text);<br />password:=mypassword.text;<br />hostName:=myHostName.Text;<br />content:=me_content.text;<br />      if idMessage   =   NIL    then<br />          idMessage.Create(Form1);  <br />      if idSMTP=NIL   then<br />          idSMTP.Create(Form1);</div>
		<div>        TIdAttachment.Create(IdMessage.MessageParts,edit1.Text);</div>
		<div>       IdMessage.Body.Assign(me_content.lines);<br />       IdMessage.From.Text := self_address;<br />       IdMessage.ReplyTo.EMailAddresses := self_address;<br />       IdMessage.Recipients.EMailAddresses := rec_address;<br />       IdMessage.Subject := subject;</div>
		<div>      idSMTP.AuthenticationType   :=   atLogin;<br />     // idSMTP.AuthenticationType:=atNone;<br />      idSMTP.Username   :=   self_address;<br />      idSMTP.Password   :=   password;<br />      idSMTP.Host           :=hostName;<br />      idSMTP.Port           :=   port;</div>
		<div>      try<br />          idSMTP.Connect;</div>
		<div>          idSMTP.Send(idMessage);<br />         //idSMTP.DisconnectSocket;<br />          idSMTP.Disconnect;<br />          //idSMTP.Destroy;<br />          showmessage('send   mail   ok');<br />      except<br />          //idSMTP.Destroy;<br />          //idMessage.Destroy;  <br />          showmessage('mail   send   false');  <br />      end;  <br />  end;</div>
		<div>procedure TForm1.Button2Click(Sender: TObject);<br />begin<br /> if(openDialog1.Execute) then<br />  begin<br />   Edit1.Text:=opendialog1.FileName;<br />  end;<br />end;</div>
		<div>end.</div>
		<div> </div>
		<div>
				<br /> </div>
<img src ="http://www.blogjava.net/dushengjun/aggbug/68225.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dushengjun/" target="_blank">Dushengjun</a> 2006-09-07 12:39 <a href="http://www.blogjava.net/dushengjun/archive/2006/09/07/68225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>