仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1105|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA教程之appfuse1.7匡助中创立DAO段代码

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:51:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.创立
/**Createdon2005-4-21*/packageorg.appfuse.model;

importorg.apache.commons.lang.builder.EqualsBuilder;importorg.apache.commons.lang.builder.HashCodeBuilder;importorg.apache.commons.lang.builder.ToStringBuilder;

/***@hibernate.classtable="person"*/publicclassPersonextendsBaseObject{

privateLongid;

privateStringfirstName;

privateStringlastName;

/***@returnReturnsthefirstName.*@hibernate.propertycolumn="first_name"length="50"*/publicStringgetFirstName(){returnfirstName;}

/***@paramfirstName*ThefirstNametoset.*/publicvoidsetFirstName(StringfirstName){this.firstName=firstName;}

/***@returnReturnstheid.*@hibernate.idcolumn="id"generator-class="native"unsaved-value="null"*/publicLonggetId(){returnid;}

/***@paramid*Theidtoset.*/publicvoidsetId(Longid){this.id=id;}

/***@returnReturnsthelastName.*@hibernate.propertycolumn="last_name"length="50"*/publicStringgetLastName(){returnlastName;}

/***@paramlastName*ThelastNametoset.*/publicvoidsetLastName(StringlastName){this.lastName=lastName;}

/***@seejava.lang.Object#equals(Object)*/publicbooleanequals(Objectobject){if(!(objectinstanceofPerson)){returnfalse;}Personrhs=(Person)object;returnnewEqualsBuilder().append(this.firstName,rhs.firstName).append(this.id,rhs.id).append(this.lastName,rhs.lastName).isEquals();}/***publicbooleanequals(Objectobject){if(!(objectinstanceofAddress)){returnfalse;}

Addressrhs=(Address)object;

returnnewEqualsBuilder().append(this.postalCode,rhs.postalCode).append(this.country,rhs.country).append(this.address,rhs.address).append(this.province,rhs.province).append(this.city,rhs.city).isEquals();}*//***@seejava.lang.Object#hashCode()*/publicinthashCode(){returnnewHashCodeBuilder(-1196181247,-1232855255).append(this.firstName).append(this.id).append(this.lastName).toHashCode();}

/***@seejava.lang.Object#toString()*/publicStringtoString(){returnnewToStringBuilder(this).append("lastName",this.lastName).append("id",this.id).append("firstName",this.firstName).toString();}}

##############################################################packageorg.appfuse.dao;

importorg.appfuse.model.Person;importorg.springframework.dao.DataAccessException;

publicclassPersonDAOTestextendsBaseDAOTestCase{//一个基础的初始化、烧毁PersonDAO对象的Junit测试privatePersonperson=null;

privatePersonDAOdao=null;

protectedvoidsetUp()throwsException{super.setUp();dao=(PersonDAO)ctx.getBean("personDAO");}

//"ctx"对象是对Spring的ApplicationContext的一个援用,它在BaseDAOTestCases//类的静态代码块中被初始化。protectedvoidtearDown()throwsException{super.tearDown();dao=null;}

//-----------------------------------------------------------------------------------------------------------------------------publicvoidtestGetPerson()throwsException{person=newPerson();person.setFirstName("Matt");person.setLastName("Raible");

dao.savePerson(person);assertNotNull(person.getId());

person=dao.getPerson(person.getId());assertEquals(person.getFirstName(),"Matt");}

publicvoidtestSavePerson()throwsException{person=dao.getPerson(newLong(1));person.setFirstName("Matt");

person.setLastName("LastNameUpdated");

dao.savePerson(person);

if(log.isDebugEnabled()){log.debug("updatedPerson:"+person);}

assertEquals(person.getLastName(),"LastNameUpdated");}

publicvoidtestAddAndRemovePerson()throwsException{person=newPerson();person.setFirstName("Bill");person.setLastName("Joy");

dao.savePerson(person);

assertEquals(person.getFirstName(),"Bill");assertNotNull(person.getId());

if(log.isDebugEnabled()){log.debug("removingperson...");}

dao.removePerson(person.getId());

try{person=dao.getPerson(person.getId());fail("Personfoundindatabase");}catch(DataAccessExceptiondae){log.debug("Expectedexception:"+dae.getMessage());assertNotNull(dae);}}

}



首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
简单生活 该用户已被删除
沙发
发表于 2015-1-21 16:25:21 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
板凳
发表于 2015-1-24 23:53:11 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
活着的死人 该用户已被删除
地板
发表于 2015-1-25 21:42:32 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
莫相离 该用户已被删除
5#
发表于 2015-1-27 15:42:53 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
若天明 该用户已被删除
6#
发表于 2015-2-5 06:44:07 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-5 22:57:28 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
再现理想 该用户已被删除
8#
发表于 2015-2-9 02:01:41 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
金色的骷髅 该用户已被删除
9#
发表于 2015-2-16 23:11:42 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
爱飞 该用户已被删除
10#
发表于 2015-3-5 11:36:39 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
小妖女 该用户已被删除
11#
发表于 2015-3-11 13:58:03 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
老尸 该用户已被删除
12#
发表于 2015-3-12 08:03:51 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
admin 该用户已被删除
13#
发表于 2015-3-19 19:01:00 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
小女巫 该用户已被删除
14#
发表于 2015-3-24 11:54:49 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
冷月葬花魂 该用户已被删除
15#
发表于 2015-3-25 08:02:03 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
第二个灵魂 该用户已被删除
16#
发表于 2015-4-25 19:24:28 | 只看该作者
是一种使用者不需花费很多时间学习的语言
透明 该用户已被删除
17#
发表于 2015-5-10 23:51:56 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
海妖 该用户已被删除
18#
发表于 2015-6-11 23:32:53 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
深爱那片海 该用户已被删除
19#
发表于 2015-6-13 05:13:28 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-8 16:14

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表