- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机专业毕业论文
绪 论
排课问题早在70年代就证明是一个NP完全问题,即算法的计算时间是呈指数增长的,这一论断确立了排课问题的理论深度。对于NP问题完全问题目前在数学上是没有一个通用的算法能够很好地解决。然而很多NP完全问题目具有很重要的实际意义,例如。大家熟悉地路由算法就是很典型的一个NP完全问题,路由要在从多的节点中找出最短路径完成信息的传递。既然都是NP完全问题,那么很多路由算法就可以运用到解决排课问题上,如Dijkstra算法、节点子树剪枝构造网络最短路径法等等。
目前大家对NP 完全问题研究的主要思想是如何降低其计算复杂度。即利用一个近似算法来代替,力争使得解决问题的时间从指数增长化简到多项式增长。结合到课表问题就是建立一个合适的现实简约模型,利用该简约模型能够大大降低算法的复杂度,便于程序实现,这是解决排课问题一个很多的思路。
本程序所写的排课,选课系统是采用Hibernate+Struts架构的来设计的, 同时具有排课和选课的双重功能,本程序的排课算法并不适用于多方面的需求, 而是只满足于学生选课, 管理员排课的一个简单的模型结构,而且只一个信息科学与技术这一个系部,功能方面相对有限一个排课选课系统。下面分别介绍本系统开发时用到一些技术。
Hibernate发展:
由传统的两层结构,即应用程序层和数据库层,发展到三层结构,中间加了一层业务逻辑层,使得模块之间的耦合度得到了很大的提高, 但是在开发过程中仍然具有一定的难度, 在开发的过程中要为不同的业务逻辑写不同的代码, 软件开发的效率很低。随着软件开发的不段发展, 又发展成为四层结构,将与数据库打交道的抽离出来, 形成数据持久化层,即数据库层,数据持久化层, 业务逻辑层和应用层。每一层都为上层提供服务, 下层不依赖于上层结构, 具有非常高的内棸和低耦合度。Hibernate就是专门负责数据持久化的。
Hibernate的特点:
Hibernate是从JDBC发展而来的, 并且对JDBC作了轻量级的封装。在需要的时候, 绕过hibernate直接通过JDBC操作数据库。使程序员可以使用对象编程思想来操作数据库。它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大的提高实现的效率。Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Java对象之间的继承及包含等关系。通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与它们进行交互,然后告诉Hibernate保存即可。这样,大量封装持久化操作的业务逻辑不再需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。
Hibernate是开放源码的java实现的持久化的中间件。之所以称之为中间件是因为Hibernate并不能独立的存在, 它必须依赖于低层的JDBC。Hibernate是一个ORM软件,即object relational mapping(对象关系映射(类和表的一一对应关系的描述)), 你必须通过配置文件(.xml)将数据库的表和你所定义的类进行一一对应起来, 从而使Hibernate能从配置文件中读取信息, 以便能通过JDBC和将你的应用程序和数据库打交道。在配置文件中描述的类一般称之为POJO类, 即其属性提供了set/get方法 ,和一个无参的构造器。
Hibernate应用
获取与数据库连接的session对象
要与数据库进行通信,首先必须获得与数据库的连接, hibernate提供了一个Configuration对象, 在myEclipse中添加hibernate组件中, 必须对hibernate的配置文件进行置, 这个Configuration对象就对应是这个系统生成的配置文件的信息, 在配置文件中你必须对数据源进行配置,其中包括数据库的路径(URL), 驱动(driver), 以及输入用户名和密码。这样Hibernate才能通过JDBC找到对应的数据库。
下面是配置hibernate数据库的配置文件hibernate.cfg.xml
hibernate.cfg.xml
cfg配置好了之后,就可以通过Configuration对象来获得Session对象了,下面是具体的过程:
synchronized public static Session getSession()
{
Configuration cfg = new Co
文档评论(0)