仓酷云

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

[学习教程] JAVA网页设计Hibernate对多表联系关系查询

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。  因为公司项目标必要,我对Hibernate对多表联系关系查询研讨了一下,现总结以下,供伴侣参考。

  1、Hibernate简介Hibernate是一个JDO工具。它的事情道理是经由过程文件(一样平常有两种:xml文件和properties文件)把值对象和数据库表之间创建起一个映照干系。如许,我们只必要经由过程操纵这些值对象和Hibernate供应的一些基础类,就能够到达利用数据库的目标。比方,利用Hibernate的查询,能够间接前往包括某个值对象的列表(List),而不用向传统的JDBC会见体例一样把了局集的数据逐一装载到一个值对象中,为编码事情勤俭了大批的工夫。Hibernate供应的HQL是一品种SQL言语,它和EJBQL一样都是供应对象化的数据库查询体例,但HQL在功效和利用体例上都十分靠近于尺度的SQL.

  2、Hibernate与JDBC的区分Hibernate与JDBC的次要区分以下:

  1、Hibernate是JDBC的轻量级的对象封装,它是一个自力的对象耐久层框架,和AppServer,和EJB没有甚么一定的接洽。Hibernate能够用在任何JDBC可使用的场所,从某种意义下去说,Hibernate在任何场所下代替JDBC.

  2、Hibernate是一个和JDBC亲切联系关系的框架,以是Hibernate的兼容性和JDBC驱动,和数据库都有必定的干系,可是和利用它的Java程序,和AppServer没有任何干系,也不存在兼容性成绩。

  3、Hibernate是做为JDBC的替换者呈现的,不克不及用来间接和EntityBean做对照。

  3、Hibernate举行多表联系关系查询Hibernate对多个表举行查询时,查询了局是多个表的笛卡尔积,大概称为“交织”毗连。比方:fromStudent,BookfromStudentasstu,BookasboofromStudentstu,Bookboo注重:让查询中的Student和Book均是表student和book对应的类名,它的名字必定要和类的名字不异,包含字母的巨细写。别号应当从命首字母小写的划定规矩是一个好习气,这和Java对部分变量的定名标准是分歧的。

  上面枚举一个完全的例子来讲明Hibernate对多个表举行联系关系查询(个中粗体是我们要出格注重的中央,响应表tBookInfo和BookSelection的布局和其对应的hbm.xml、class文件就纷歧一枚举了,有必要具体懂得的伴侣,请接洽我):

StringsTest="fromtBookInfobook,BookSelectionselwherebook.id=sel.bookId";
Collectionresult=newArrayList();
Transactiontx=null;
try{
 Sessionsession=HibernateUtil.currentSession();
 tx=session.beginTransaction();
 Queryquery=session.createQuery(sql);
 result=query.list();
 tx.commit();
}catch(Exceptione){
 throwe;
}finally{
 HibernateUtil.closeSession();
}
ArrayListsList=(ArrayList)result;
Iteratoriterator1=sList.iterator();
while(iterator1.hasNext()){
 Object[]o=(Object[])iterator1.next();
 tBookInfobookInfo=(tBookInfo)o[0];
 BookSelectionbookSelect=(BookSelection)o[1];
 System.out.println("BookInfo-Title:"+bookInfo.getTitle());
 System.out.println("BookSelection-BookSelectionId:"+bookSelect.getId());
}
windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的
再见西城 该用户已被删除
沙发
发表于 2015-1-20 18:49:11 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-29 14:53:32 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
山那边是海 该用户已被删除
地板
 楼主| 发表于 2015-2-6 02:10:43 | 只看该作者
是一种为 Internet发展的计算机语言
若相依 该用户已被删除
5#
发表于 2015-2-14 23:49:59 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
若天明 该用户已被删除
6#
发表于 2015-3-4 10:45:52 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-11 18:20:17 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
再现理想 该用户已被删除
8#
发表于 2015-3-13 01:09:28 | 只看该作者
是一种为 Internet发展的计算机语言
小魔女 该用户已被删除
9#
发表于 2015-3-20 08:43:25 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 04:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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