Hibernate基本概念及开发环境的搭建
Hibernate的意思是"冬眠"
在Java中的作用和它本来的意思没有太大的关联
在MVC开发模式中,我们前面学的Struts是视图层(View)的框架
Hibernate是帮助我们更容易地和和数据库打交道的,是属于
模型层的框架(Model层)
需要知道的是,我们接下来在学习的过程中是将Struts和
Hibernate两大框架整合在一起来实现项目的!
下面介绍的是:
ORMapping概念:
Object:程序对象
Relationship: 数据库表(关系型数据库=RDBMS,我们之前了解的
都是关系型数据库)
Mapping:映射
所以说ORMapping:意思就是像操作对象一样,来操作数据库
ORMapping框架除了Hibernate框架,还有TopLink,JDO等等
还有一个叫做 mybatis框架很重要(以后的博客会详细讲解)
下面开始介绍Hibernate和Struts2整合环境的搭建:
在这里说下: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>///密码
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>///hbm2ddl.atuo:是否自动创建数据库 update是可以变的(也可以是insert等等)
</session-factory>
</hibernate-configuration>
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中
在下载的struts2文件夹中的apps-解压一个项目blank.war/lib
5.添加mysql数据库的驱动程序到WebContent的lib目录下
6.添加struts2的配置文件struts.xml到src的根目录下
7.添加hibernate的配置文件hibernate.cfg.xml到src的根目录下
在这里说下: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
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>///hbm2ddl.atuo:是否自动创建数据库 update是可以变的(也可以是insert等等)
</session-factory>
</hibernate-configuration>