2006年04月01日

姓名:  隋永瑞                性别:    男                     年龄:23岁

专业:  计算机科学与技术      毕业院校:黑龙江科技学院        学历:本科(统招)

       

求职意向:java软件工程师      希望工作地:北京 

 Q  Q:26127153        E-MAIL:  sui886@163.com



项目经验:


1. Captain海鲜超市收支信息管理系统

     -操作系统: windowsXP
     -开发工具: Jbuilder
     -数据库  : Oracle9i
     -服务器  : Tomcat
     -开发人员: 4人
     -开发时间: 5天
     -项目描述: 给一个海鲜超市更新的一套信息系统,及时准确的业务处理,可信息查询,信息共享,信息安全。
     -职责描述: Jsp页面的代码编写,数据库的创建,和登陆权限验证功能等。

2. 新东方教育在线考试系统

     -操作系统: windowsXP
     -相关技术: Struts、JavaBean、Oracle(连接池)
     -开发工具: JBuilder
     -数据库  : Oracle9i
     -服务器  : Weblogic 8.1
     -项目描述: 新东方在线考试系统提供新东方学员在线模拟考试以及新东方教师进行考试科目及题库管理功能。    
                 用户通过以不同身份登陆:学员可以进行模拟考试;教师可以查看考试信息、对科目及试题库进行
                 更新与维护。
     -开发人数: 3人
     -开发时间: 7天
     -职责描述: 参与初期数据库创建,主要负责JSP页面、教师管理学生信息、教师管理考试信息三个模块。

3. J2ME手机游戏设计

        基于J2ME设计的小型游戏,成功实现并在手机上运行,业余时间自主完成。



培训经历:

      课程名称:2005.11-2006.3月 北京新东方哈尔滨一搏培训中心 (JAVA软件开发工程师班)

      培训内容: JAVA面向对象程序设计,J2SE,J2EE,J2ME,Oracle数据库等.


培训结果:

     *熟练掌握Jsp,JavaBean,Servlet,Struts,EJB构架
     *熟练使用Oracle数据库
     *熟练使用Tomcat,Weblogic服务器
     *熟练使用JBuilder
     *熟悉J2ME开发


性格特征:稳重、诚恳、能吃苦,学习、动手能力强,做事仔细认真,有一定承受能力,
           适应能力较强,有较强的组织能力和团队精神、自律、自信。

爱好兴趣:喜爱读书、听音乐、对计算机新技术比较敏感。

附加信息:无家庭负担,可长期加班,出差。

       

求职意向:java软件工程师      希望工作地:北京 

 Q  Q:26127153        E-MAIL:  sui886@163.com



项目经验:


1. Captain海鲜超市收支信息管理系统

     -操作系统: windowsXP
     -开发工具: Jbuilder
     -数据库  : Oracle9i
     -服务器  : Tomcat
     -开发人员: 4人
     -开发时间: 5天
     -项目描述: 给一个海鲜超市更新的一套信息系统,及时准确的业务处理,可信息查询,信息共享,信息安全。
     -职责描述: Jsp页面的代码编写,数据库的创建,和登陆权限验证功能等。

2. 新东方教育在线考试系统

     -操作系统: windowsXP
     -相关技术: Struts、JavaBean、Oracle(连接池)
     -开发工具: JBuilder
     -数据库  : Oracle9i
     -服务器  : Weblogic 8.1
     -项目描述: 新东方在线考试系统提供新东方学员在线模拟考试以及新东方教师进行考试科目及题库管理功能。    
                 用户通过以不同身份登陆:学员可以进行模拟考试;教师可以查看考试信息、对科目及试题库进行
                 更新与维护。
     -开发人数: 3人
     -开发时间: 7天
     -职责描述: 参与初期数据库创建,主要负责JSP页面、教师管理学生信息、教师管理考试信息三个模块。

3. J2ME手机游戏设计

        基于J2ME设计的小型游戏,成功实现并在手机上运行,业余时间自主完成。



培训经历:

      课程名称:2005.11-2006.3月 北京新东方哈尔滨一搏培训中心 (JAVA软件开发工程师班)

      培训内容: JAVA面向对象程序设计,J2SE,J2EE,J2ME,Oracle数据库等.


培训结果:

     *熟练掌握Jsp,JavaBean,Servlet,Struts,EJB构架
     *熟练使用Oracle数据库
     *熟练使用Tomcat,Weblogic服务器
     *熟练使用JBuilder
     *熟悉J2ME开发


性格特征:稳重、诚恳、能吃苦,学习、动手能力强,做事仔细认真,有一定承受能力,
           适应能力较强,有较强的组织能力和团队精神、自律、自信。

爱好兴趣:喜爱读书、听音乐、对计算机新技术比较敏感。

附加信息:无家庭负担,可长期加班,出差。

       


一个完整的hibernate的one-to-many的例子


前段时间一直在研究hibernate的one-to-many,看了不少资料也在本论坛上求教过,但由于本人对Hibernate研究的时间不是很长,所以花了不少时间和精力.昨天终于弄出来了,现在与大家分享,希望对初学者有帮助!

1、设置数据库,本人使用的数据库是Oracle 9i
   设置hibernate.properties
   ## Oracle

   hibernate.dialect net.sf.hibernate.dialect.Oracle9Dialect
   #hibernate.dialect net.sf.hibernate.dialect.OracleDialect
   hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver
   hibernate.connection.username sa
   hibernate.connection.password sa
   hibernate.connection.url jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:myoracle

2、假设一个用户可以同时有几个帐户,能通过帐户对应到用户,即为一个双向的one-to-many.这是引用我在论坛上发表的文章的回复,很谢谢geniouc给我的参考。

3、javaBean: customer & account
  
  1.   public class Customer {
  2.   private String cid;
  3.   private String custName;
  4.   private Set accounts= new HashSet();
  5.   public Customer(){
  6.   }
  7.   public String getCid() {
  8.     return cid;
  9.   }
  10.   public void setCid(String cid) {
  11.     this.cid = cid;
  12.   }
  13.   public String getCustName() {
  14.     return custName;
  15.   }
  16.   public void setCustName(String custName) {
  17.     this.custName = custName;
  18.   }
  19.   public Set getAccounts(){
  20.      return accounts;
  21.   }
  22.   public void setAccounts(Set accounts){
  23.      this.accounts = accounts;
  24.   }
  25. }
  26.   public class Account {
  27.   private long aid;
  28.   private String accNumber;
  29.   private Customer customer;
  30.   public Account(){
  31.   }
  32.   public long getAid() {
  33.     return aid;
  34.   }
  35.   public void setAid(long aid) {
  36.     this.aid = aid;
  37.   }
  38.   public String getAccNumber() {
  39.     return accNumber;
  40.   }
  41.   public void setAccNumber(String accNumber) {
  42.     this.accNumber = accNumber;
  43.   }
  44.   public Customer getCustomer(){
  45.      return customer;
  46.   }
  47.   public void setCustomer(Customer customer){
  48.      this.customer = customer;
  49.   }
  50. }



4、xml配置文件中:(关系的建立)
Account.hbm.xml

  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping
  3.     PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
  5. <hibernate-mapping> 
  6.     <class name="one2many.Account" table="Account"
  7.         <id name="aid" type="long" column="aid" unsaved-value="0"
  8.             <generator class="increment"/> 
  9.         </id>
  10.         <property name="accNumber" type="string"/>
  11.         <many-to-one name="customer" column="cidForCustomer"/> 
  12.     </class>
  13. </hibernate-mapping>


Customer.hbm.xml

  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping
  3.     PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
  5. <hibernate-mapping>
  6.     <class name="one2many.Customer" table="Customer">
  7.     <id name="cid" type="string" column="cid"
  8.             <generator class="assigned"/> 
  9.         </id>
  10.     <property name="custName" type="string"/>        
  11.      <set name="accounts" lazy="true" inverse="true" cascade="all" >
  12.      <key column="cidForCustomer"/>
  13.      <one-to-many class="one2many/Account"/>
  14.      </set>
  15.     </class
  16. </hibernate-mapping>


5、测试程序,Test.java

  1. package one2many;
  2. import net.sf.hibernate.*;
  3. import net.sf.hibernate.cfg.*;
  4. public class Test {
  5. public static void main(String[] args) throws HibernateException {
  6.      Configuration conf= new Configuration();
  7.      conf.addClass(Account.class);
  8.      conf.addClass(Customer.class);
  9.      SessionFactory sessionFactory = conf.buildSessionFactory();
  10.      Customer cust = new Customer();
  11.      cust.setCid("aa");
  12.      cust.setCustName("Kelvin");
  13.      Account acc = new Account();
  14.      acc.setAccNumber("acc");
  15.      acc.setCustomer(cust);
  16.      Account acc1 = new Account();
  17.      acc1.setAccNumber("acc1");
  18.      acc1.setCustomer(cust);
  19.      cust.getAccounts().add(acc);
  20.      cust.getAccounts().add(acc1);
  21.      Session session = sessionFactory.openSession();
  22.      Transaction tx= session.beginTransaction();
  23.      session.save(cust);
  24.      tx.commit();
  25.      session.close();
  26.      sessionFactory.close();
  27.  }
  28. }


以上程序在JBuilder 2005上运行测试通过,如发现什么问题,请大家赐教!

前言: 
本来我都是使用JBuilderX当主力IDE、但使用了Eclipse后 
发现…Eclipse原来也这么好用…渐渐的就爱上了它…… 
Eclipse优点:免费、程序代码排版功能、有中文化包、可增 
设许多功能强大的外挂、支持多种操作系统(Windows、 
Linux、Solaris、Mac OSX)..等等。 

开此篇讨论串的目的,是希望能将Eclipse的一些使用技巧集 
合起来…欢迎大家继续补充下去…由于Eclipse的版本众多 
,希望补充的先进们能顺便说明一下您所使用的版本~ 

Eclipse网站:http://www.eclipse.org/ 
Eclipse中文化教学:JavaWorld站内文章参考 

(使用版本:Eclipse 2.1.2 Release + 中文化) 

热键篇: 
Template:Alt + / 
修改处:窗口->喜好设定->工作台->按键->编辑->内容辅助。 
个人习惯:Shift+SPACE(空白)。 
简易说明:编辑程序代码时,打sysout +Template启动键,就 
会自动出现:System.out.println(); 。 
设定Template的格式:窗口->喜好设定->Java->编辑器->模板。 

程序代码自动排版:Ctrl+Shift+F 
修改处:窗口->喜好设定->工作台->按键->程序代码->格式。 
个人习惯:Alt+Z。 
自动排版设定:窗口->喜好设定->Java->程序代码格式制作程序。 
样式页面->将插入tab(而非空格键)以内缩,该选项取消勾选 
,下面空格数目填4,这样在自动编排时会以空格4作缩排。 

快速执行程序:Ctrl + F11 
个人习惯:ALT+X 
修改处:窗口->喜好设定->工作台->按键->执行->启动前一次的启动作业。 
简易说明:第一次执行时,它会询问您执行模式, 
设置好后,以后只要按这个热键,它就会快速执行。 
<ALT+Z(排版完)、ATL+X(执行)>..我觉得很顺手^___^ 

自动汇入所需要的类别:Ctrl+Shift+O 
简易说明: 
假设我们没有Import任何类别时,当我们在程序里打入: 

BufferedReader buf = 
new BufferedReader(new InputStreamReader(System.in)); 

此时Eclipse会警示说没有汇入类别,这时我们只要按下Ctrl+Shift+O 
,它就会自动帮我们Import类别。 

查看使用类别的原始码:Ctrl+鼠标左键点击 
简易说明:可以看到您所使用类别的原始码。 

将选取的文字批注起来:Ctrl+/ 
简易说明:Debug时很方便。 
修改处:窗口->喜好设定->工作台->按键->程序代码->批注 

视景切换:Ctrl+F8 
个人习惯:Alt+S。 
修改处:窗口->喜好设定->工作台->按键->窗口->下一个视景。 
简易说明:可以方便我们快速切换编辑、除错等视景。 

密技篇: 
一套Eclipse可同时切换,英文、繁体、简体显示: 
1.首先要先安装完中文化包。 
2.在桌面的快捷方式后面加上参数即可, 
英文-> -nl "zh_US" 
繁体-> -nl "zh_TW" 
简体-> -nl "zh_CN"。 
(其它语系以此类推) 
像我2.1.2中文化后,我在我桌面的Eclipse快捷方式加入参数-n1 "zh_US"。 
"C:\Program Files\eclipse\eclipse.exe" -n "zh_US" 
接口就会变回英文语系噜。 

利用Eclipse,在Word编辑文书时可不必将程序代码重新编排: 
将Eclipse程序编辑区的程序代码整个复制下来(Ctrl+C),直接贴(Ctrl+V)到 
Word或WordPad上,您将会发现在Word里的程序代码格式,跟Eclipse 
所设定的完全一样,包括字型、缩排、关键词颜色。我曾试过JBuilder 
、GEL、NetBeans…使用复制贴上时,只有缩排格式一样,字型、颜 
色等都不会改变。 

外挂篇: 
外挂安装:将外挂包下载回来后,将其解压缩后,您会发现features、 
plugins这2个数据夹,将里面的东西都复制或移动到Eclipse的features 
、plugins数据夹内后,重新启动Eclipse即可。 

让Eclipse可以像JBuilderX一样使用拖拉方式建构GUI的外挂: 
1.Jigloo SWT/Swing GUI Builder : 
http://cloudgarden.com/jigloo/index.html 
下载此版本:Jigloo plugin for Eclipse (using Java 1.4 or 1.5) 
安装后即可由档案->新建->其它->GUI Form选取要建构的GUI类型。 

2.Eclipse Visual Editor Project: 
http://www.eclipse.org/vep/ 
点选下方Download Page,再点选Latest Release 0.5.0进入下载。 
除了VE-runtime-0.5.0.zip要下载外,以下这2个也要: 
EMF build 1.1.1: (build page) (download zip) 
GEF Build 2.1.2: (build page) (download zip) 

3.0 M8版本,请下载: 
EMF build I200403250631 
GEF Build I20040330 
VE-runtime-1.0M1 

安装成功后,便可由File->New->Visual Class开始UI设计。 
安装成功后,即可由新建->Java->AWT与Swing里选择 
所要建构的GUI类型开始进行设计。VE必须配合着对应 
版本,才能正常使用,否则即使安装成功,使用上仍会 
有问题。 

使用Eclipse来开发JSP程序: 
外挂名称:lomboz(下载页面) 
http://forge.objectweb.org/project/showfiles.php?group_id=97 
请选择适合自己版本的lomboz下载,lomboz.212.p1.zip表示2.1.2版, 
lomboz.3m7.zip表示M7版本….以此类推。 
lomboz安装以及设置教学: 
Eclipse开发JSP-教学文件 

Java转exe篇: 
实现方式:Eclipse搭配JSmooth(免费)。 
1.先由Eclipse制作包含Manifest的JAR。 
制作教学 
2.使用JSmooth将做好的JAR包装成EXE。 
JSmooth下载页面: 
http://jsmooth.sourceforge.net/index.php 
3.制作完成的exe文件,可在有装置JRE的Windows上执行。 

Eclipse-Java编辑器最佳设定: 
编辑器字型设定:工作台->字型->Java编辑器文字字型。 
(建议设定Courier New -regular 10) 

编辑器相关设定:窗口->喜好设定->Java->编辑器 

外观:显示行号、强调对称显示的方括号、强调显示现行行、 
显示打印边距,将其勾选,Tab宽度设4,打印编距字段设80。 
程序代码协助:采预设即可。 
语法:可设定关键词、字符串等等的显示颜色。 
附注:采预设即可。 
输入:全部字段都勾选。 
浮动说明:采预设即可。 
导览:采预设即可。 

使自动排版排出来的效果,最符合Java设计惯例的设定: 
自动排版设定:窗口->喜好设定->Java->程序代码制作格式。 

换行:全部不勾选。 
分行:行长度上限设:80。 
样式:只将强制转型后插入空白勾选。 
内缩空格数目:设为4。 

Eclipse的教学文件: 
Eclipse 3.0系列热键表 - 中英对照解说版 (by sungo) ~New~ 
Window+GCC+CDT用Eclipse开发C、C++ (by sungo) ~New~ 

其它: 
扩充Eclipse的Java 开发工具(中文) 
使用Eclipse开发J2EE 应用程序(中文) 
使用Eclipse平台进行除错(中文) 
用Eclipse进行XML 开发(中文) 
开发Eclipse外挂程序(中文) 
国际化您的Eclipse外挂程序(英文) 
将Swing编辑器加入Eclipse(英文) 
如何测试你的Eclipse plug-in符合国际市场需求(英文) 

Eclipse的相关网站: 
http://eclipse-plugins.2y.net/eclipse/index.jsp 
http://www.eclipseplugincentral.com/ 
Eclipse相关教学[简体] 

  

  

写程序写到很累了,想休息一下??玩玩小Game是 
不错的选择,下面介绍使用Eclipse玩Game的Plug-in。 

补充外挂篇: 
Eclipse-Games: 
http://eclipse-games.sourceforge.net/ 
版本选:Latest Release 3.0.1 (Release Notes) Sat, 3 Jan 2004 

外挂安装完后,重新开启Eclipse。 
窗口->自订视景->其它->勾选Game Actions。 
再将Eclipse关闭,重新再启动,就可以开始玩噜。 
(共有4种:采地雷I、采地雷II、贪食蛇、仓库番。) 

(Eclipse 2.1.2 +中文化 玩Game -仓库番)   

补充:(于Eclipse使用assertion机制) 
Eclipse版本:2.1.3 release。 

JDK1.4版新加入的assertion机制(关键词:assert),由于JDK1.4编译器 
预设是兼容1.3,所以要使用assert必须在编译时加上-source 1.4的参数。 

C:\>javac -source 1.4 XXX.java
执行时则必须加-ea 或-enableassertions参数启动。 

C:\>java -ea XXX

如要在Eclipse中使用assertion机制,请作以下设定: 
设定一:(编译设定) 
Windows->Preferance->Java->Compiler->Compliance and Classfiles 
页面。将..JDK Compliance level->Compiler compliance level调成1.4。 

设定二:(执行设定) 
Run->Run->(x)=Arguments页面,在VM arguments加入-da参数,按下 
Run button便可看到启动assertion后的执行结果。 

(Eclipse 2.1.3 release + assertion测试) 
<assert判别为false,所以show出AssertionError>   

新版(m8+)的eclipse可以设vm arguments 
另外提供一种设法,是在eclipse启动时加入vm arguments(跟加大eclipse预设内存大小的方式一样) 
这样就不用每次run都得需去设vm arguments