小女巫 发表于 2015-1-18 11:47:32

JAVA网页编程之Hibernate进修手记(一)

Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。


2005-3-3进修Hibernate在进修hibernate中,我发明关于sqlserver2000中的数据库子增字段,在设置文件利用以下办法完成:<idname="id"type="long"unsaved-value="0"><columnname="id"sql-type="numeric"not-null="true"/><generatorclass="identity"/><!--increment--></id>这里次要是:identity:代表由sqlserver2000数据库本人供应子增字段.假如要hibernate本人供应,则用increment关头字来完成

假如表中的主键用字符串范例:能够用hibernate本人供应的办法完成主键独一:<idname="id"type="string"unsaved-value="null"><columnname="cid"sql-type="char(32)"not-null="true"/><generatorclass="uuid.hex"/></id>利用的是uuid.hex战略

主要的常识点:1.假如有部门表,有员工表,员工表中有dep_id,则表部门类和员工类是one-to-many的干系:可使用:(在部门类department中利用以下)Department类:/**部门的一切员工*/privateSetstaffs=newTreeSet();xml的文件:<setname="staffs"><keycolumn="dep_id"/><one-to-manyclass="hbp.sys.data.Staff"/></set>假如是list,必要用索引<index></index>,详细个中的寄义,不是很分明.待今后研讨2.假如部门要有一个卖力人,即部门表(tb_department)中有一个字段:staff_id.那末暗示部门和卖力人之间的干系是many-to-one的干系Department类:/**部门卖力人id*/privateStaffstaff;xml文件<many-to-onename="staff"class="hbp.sys.data.Staff"column="staff_id"/>2005-3-4进修Hibernate3.多对多干系,一样平常我们是做一其中间联系关系表.我用脚色和权限做了个例子,Right(id,name)Role(id,name)两头表:tb_role_right(role_id,right_id)Right类中有一个Role的汇合:privateSetroles=newTreeSet();Role类中也有一个Right的汇合:privateSetrights=newTreeSet();则二者是分明的多对多干系.利用many-to-many来完成;xml文件中right.hbm.xml:以下:<setname="roles"table="tb_role_right"cascade="all"><keycolumn="right_id"/><many-to-manycolumn="role_id"class="hbp.sys.data.Role"/></set>role.hbm.xml文件中相似:<setname="rights"table="tb_role_right"cascade="all"><keycolumn="role_id"/><many-to-manycolumn="right_id"class="hbp.sys.data.Right"/></set>

2005-3-5进修Hibernate4.几个值得注重的成绩:a)在xml?映照文件中,写类的名字时必定用类的全名:即:包+类名如:(hbp.sys.data.Staff),这个毛病使我费了半天劲.:(b)我在写完成基础DAO操纵时,写了session.delete("fromRightasrightwhereright.id="+id);程序逝世活报错,我折腾了半天,跟踪究竟,才名顿开,hibernate在剖析sql语句的时分把个中的right,当做了数据库中的右毗连("保存字"),唉,这类关头字,不克不及任意用啊,:)2005-3-75.hibernate中HQL言语的查询依据你的sql的分歧而前往分歧的对象范例.假如你利用session.find(Stringhql)一样平常会前往一个List,如:fromStaffstaff;前往的是包括一切的员工对象的汇合如你的hql为:selectcount(*)fromStaffstaff;则前往的是一个Integer对象假如你利用的hql为:selectcount(distinctstaff.name),count(*)fromStaffstaff;则前往的是一个Object即Object[],必要先把他转换成Object[],然后在取,.这类计划我不晓得hibernate是怎样处置的,感到既好也欠好.好的是可使用一个find取得恣意查询欠好在于依据hql来处置前往了局,简单堕落.

其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:

爱飞 发表于 2015-1-21 15:00:42

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

谁可相欹 发表于 2015-1-25 17:13:47

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

愤怒的大鸟 发表于 2015-1-28 05:20:19

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

山那边是海 发表于 2015-2-5 11:14:09

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

只想知道 发表于 2015-2-11 10:46:36

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

若相依 发表于 2015-3-2 11:11:47

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

精灵巫婆 发表于 2015-3-6 18:19:35

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

老尸 发表于 2015-3-10 18:44:56

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

乐观 发表于 2015-3-11 04:38:49

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

蒙在股里 发表于 2015-3-17 20:11:28

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

兰色精灵 发表于 2015-3-20 06:47:24

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

海妖 发表于 2015-3-26 01:40:15

Java 编程语言的风格十分接近C、C++语言。

变相怪杰 发表于 2015-3-31 23:35:48

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

分手快乐 发表于 2015-4-1 09:44:29

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

仓酷云 发表于 2015-4-3 05:15:58

是一种使用者不需花费很多时间学习的语言

冷月葬花魂 发表于 2015-4-7 15:08:49

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

小魔女 发表于 2015-4-14 11:57:24

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

因胸联盟 发表于 2015-4-26 22:10:10

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

莫相离 发表于 2015-4-28 12:35:14

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
页: [1] 2
查看完整版本: JAVA网页编程之Hibernate进修手记(一)