您的位置:首页 > 其它

Hibernate基本概念及开发环境的搭建

2017-07-21 17:27 225 查看
Hibernate基本概念及开发环境的搭建

Hibernate的意思是"冬眠"

在Java中的作用和它本来的意思没有太大的关联

在MVC开发模式中,我们前面学的Struts是视图层(View)的框架

Hibernate是帮助我们更容易地和和数据库打交道的,是属于

模型层的框架(Model层)

需要知道的是,我们接下来在学习的过程中是将Struts和

Hibernate两大框架整合在一起来实现项目的!

下面介绍的是:
ORMapping概念:

Object:程序对象

Relationship: 数据库表(关系型数据库=RDBMS,我们之前了解的

都是关系型数据库)

Mapping:映射

所以说ORMapping:意思就是像操作对象一样,来操作数据库

ORMapping框架除了Hibernate框架,还有TopLink,JDO等等

还有一个叫做 mybatis框架很重要(以后的博客会详细讲解)

下面开始介绍Hibernate和Struts2整合环境的搭建:


1.之前讲过Struts2的环境搭建,及包的下载(在以前的博客中)

也是进入到Struts官网去下载(百度搜索Struts2即可搜到官网)

2.在hibernate官网(http://hibernate.org/),下载对应的zip包

3.添加hibernate的jar包到WebContent的lib目录下 

这个jar包在下载的hibernate的文件夹中的lib->required中

4.添加struts2的jar包到Web
4000
Content的lib目录下,这个jar包

在下载的struts2文件夹中的apps-解压一个项目blank.war/lib

5.添加mysql数据库的驱动程序到WebContent的lib目录下

6.添加struts2的配置文件struts.xml到src的根目录下

7.添加hibernate的配置文件hibernate.cfg.xml到src的根目录下

8.编写初始化SessionFactory和获取session的代码

在这里说下:SessionFactory相当于连接池(里面有很多的链接

,我之前专门写了一篇博客关于数据库连接池的,可以去看下)

而session在这里相当于一个链接

这句话的意思其实就是:我们新建一个类,把要求的hibernate链接数据库的代码写进去即可

需要注意到的是:不同的hibernate版本链接对应的数据库代码不同,而且文档里面的链接数据库的代码

还是错的(这个真的坑),我们需要在网上寻找属于自己hibernate版本链接数据库的代码,这个类通常

叫做:HibernateUtil

到这里基本上把Hibernate和Struts整合框架搭建好了!

下面详解一下hibernate.cfg.xml这个配置文件:

如我的配置文件:

我链接的数据库是mysql,不同的数据库property里面填写的内容不同

<hibernate-configuration>
<session-factory>

  

        <property name="connection.driver_class">com.mysql.jdbc.Driver</property> ///加载驱动程序    

        <property name="connection.url">jdbc:mysql://localhost:3306/mydb</property>///url

        <property name="connection.username">root</property>///用户名

        <property name="connection.password">621366</property>///密码

        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>///Dialect是方言的意思:Hibernate可以根据不同数据库来进行提供对应的功能,XXXDialect,因为我用是mysql,所以是MySQLDialect

        <property name="show_sql">true</property>///为true的时候,会在控制台上打印结果

        <!-- Drop and re-create the database schema on startup -->

        <property name="hbm2ddl.auto">update</property>///hbm2ddl.atuo:是否自动创建数据库 update是可以变的(也可以是insert等等)
</session-factory>

</hibernate-configuration>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: