什么是Hibernate?
Hibernate本身的中文含义是:冬眠,主要是操作持久层的。直接与数据库的操作有关。
像之前的所有程序,都需要用户手工编写数据库的JDBC操作代码,程序根本就没有可移植性,因为各个数据库的SQL语句实现是有区别的,主要以分页。
Hibernate本身提供了一组ORM工具,ORMapping指的是对象-关系映射,即:以对象的方式去操作数据库,执行CRUD命令。简化了数据库的操作代码。
在Hibernate中主要是以POJO(VO)来表示数据库表中的每条记录的。程序通过POJO的操作完成具体数据库的CRUD。
在Hibernate程序中可以向各个数据库间任意的进行移植,而不需要编写任何的多余代码。
3.2、开发Hibernate
直接使用MyEclipse进行开发,但是在开发之前需要先进行数据库的配置。
3.2.1、准备工作
为了方便的开发,现在建立一个web项目,此项目中可以直接把所有的*.jar文件拷贝到WEB-INF/lib目录之中。
项目名称:HibernateProject
项目建立完成之后,配置数据库连接。
窗口 视图 其他 数据库浏览器
此时,就在eclipse中将数据库连接就配置完成了,以后可以直接通过此连接创建Hibernate应用。
数据库创建脚本:
DROP DATABASE demo ;
CREATE DATABASE demo ;
USE demo ;
DROP TABLE person ;
CREATE TABLE person(
pid INT AUTO_INCREMENT PRIMARY KEY ,
name VARCHAR(50) NOT NULL ,
age INT NOT NULL ,
birthday DATE NOT NULL
) ;
3.2.2、添加Hibernate支持
Hibernate本身也是一组*.jar文件包,所以在添加时一定要将其选择,把所有的库文件拷贝到WEB-INF/lib目录之中,如果不拷贝,则以后就需要单独进行手工的配置了。
之后提示:要创建一个文件:hibernate.cfg.xml,此文件为hibernate的核心配置文件,主要用于配置数据库连接的。
此处提示,使用的数据库是那一个,在此时,选择之前配置好的mysql的数据库连接即可,会自动将用户名、密码之类的信息全部填充完整。
下面需要创建一个映射文件,此文件用于将表与POJO之间进行连接,即:程序中通过此配置文件,找到一张表对应的POJO类,此文件的后缀为:“*.hbm.xml”。
要想创建POJO类还有*.hbm.xml文件,直接从之前配置好的数据库连接处就可以直接创建了。
此处,表示选择pojo类所在的包,以及自动生成*.hbm.xml的配置文件,此文件与POJO必须放在同一个文件夹之中。
在每一个配置文件之中,都必须指定一个主键的生成方式,现在的方式是自动增长的,所以选择native方式即可。
在MyEclipse 5.5之后选择下一步的时候会重复要求配置主键的生成方式。
配置文件:Person.hbm.xml
• 格式:表名称.hbm.xml
<hibernate-mapping>
<class name="org.lxh.hibernate.demo01.Person" 对应的POJO的包.类名称
table="person" 此POJO对应的表名称
catalog="demo"> 数据库的模式,可以删除
<id name="pid" type="java.lang.Integer"> 主键、使用pid属性
<column name="pid" /> 此属性对应的表中的列
<generator class="native"></generator> 属性的生成方式,自动增长
</id>
<property name="name" type="java.lang.String"> POJO类中的属性名称及类型
<column name="name" length="50" not-null="true" /> 对应的列的信息
</property>
<property name="age" type="java.lang.Integer">
<column name="age" not-null="true" />
</property>
<property name="birthday" type="java.util.Date">
<column name="birthday" length="10" not-null="true" />
</property>
</class>
</hibernate-mapping>
配置文件:hibernate.cfg.xml
<hibernate-configuration> 表示配置,通过配置可以找到SessionFactory
<session-factory> 连接工厂
<property name="connection.username">root</property> 用户名
<property name="connection.url"> 连接地址
jdbc:mysql://localhost:3306/demo
</property>
<property name="dialect"> 方言,以后更换数据库,直接更换方言即可
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">mysql</property>
<property name="connection.password">mysqladmin</property> 密码
<property name="connection.driver_class">
org.gjt.mm.mysql.Driver 驱动程序
</property>
<mapping resource="org/lxh/hibernate/demo01/Person.hbm.xml" /> *.hbm
</session-factory>
</hibernate-configuration>
所有的*.hbm.xml文件,如果要起作用,则必须在hibernate.cfg.xml中进行配置操作。
Hibernate本身的中文含义是:冬眠,主要是操作持久层的。直接与数据库的操作有关。
像之前的所有程序,都需要用户手工编写数据库的JDBC操作代码,程序根本就没有可移植性,因为各个数据库的SQL语句实现是有区别的,主要以分页。
Hibernate本身提供了一组ORM工具,ORMapping指的是对象-关系映射,即:以对象的方式去操作数据库,执行CRUD命令。简化了数据库的操作代码。
在Hibernate中主要是以POJO(VO)来表示数据库表中的每条记录的。程序通过POJO的操作完成具体数据库的CRUD。
在Hibernate程序中可以向各个数据库间任意的进行移植,而不需要编写任何的多余代码。
3.2、开发Hibernate
直接使用MyEclipse进行开发,但是在开发之前需要先进行数据库的配置。
3.2.1、准备工作
为了方便的开发,现在建立一个web项目,此项目中可以直接把所有的*.jar文件拷贝到WEB-INF/lib目录之中。
项目名称:HibernateProject
项目建立完成之后,配置数据库连接。
窗口 视图 其他 数据库浏览器
此时,就在eclipse中将数据库连接就配置完成了,以后可以直接通过此连接创建Hibernate应用。
数据库创建脚本:
DROP DATABASE demo ;
CREATE DATABASE demo ;
USE demo ;
DROP TABLE person ;
CREATE TABLE person(
pid INT AUTO_INCREMENT PRIMARY KEY ,
name VARCHAR(50) NOT NULL ,
age INT NOT NULL ,
birthday DATE NOT NULL
) ;
3.2.2、添加Hibernate支持
Hibernate本身也是一组*.jar文件包,所以在添加时一定要将其选择,把所有的库文件拷贝到WEB-INF/lib目录之中,如果不拷贝,则以后就需要单独进行手工的配置了。
之后提示:要创建一个文件:hibernate.cfg.xml,此文件为hibernate的核心配置文件,主要用于配置数据库连接的。
此处提示,使用的数据库是那一个,在此时,选择之前配置好的mysql的数据库连接即可,会自动将用户名、密码之类的信息全部填充完整。
下面需要创建一个映射文件,此文件用于将表与POJO之间进行连接,即:程序中通过此配置文件,找到一张表对应的POJO类,此文件的后缀为:“*.hbm.xml”。
要想创建POJO类还有*.hbm.xml文件,直接从之前配置好的数据库连接处就可以直接创建了。
此处,表示选择pojo类所在的包,以及自动生成*.hbm.xml的配置文件,此文件与POJO必须放在同一个文件夹之中。
在每一个配置文件之中,都必须指定一个主键的生成方式,现在的方式是自动增长的,所以选择native方式即可。
在MyEclipse 5.5之后选择下一步的时候会重复要求配置主键的生成方式。
配置文件:Person.hbm.xml
• 格式:表名称.hbm.xml
<hibernate-mapping>
<class name="org.lxh.hibernate.demo01.Person" 对应的POJO的包.类名称
table="person" 此POJO对应的表名称
catalog="demo"> 数据库的模式,可以删除
<id name="pid" type="java.lang.Integer"> 主键、使用pid属性
<column name="pid" /> 此属性对应的表中的列
<generator class="native"></generator> 属性的生成方式,自动增长
</id>
<property name="name" type="java.lang.String"> POJO类中的属性名称及类型
<column name="name" length="50" not-null="true" /> 对应的列的信息
</property>
<property name="age" type="java.lang.Integer">
<column name="age" not-null="true" />
</property>
<property name="birthday" type="java.util.Date">
<column name="birthday" length="10" not-null="true" />
</property>
</class>
</hibernate-mapping>
配置文件:hibernate.cfg.xml
<hibernate-configuration> 表示配置,通过配置可以找到SessionFactory
<session-factory> 连接工厂
<property name="connection.username">root</property> 用户名
<property name="connection.url"> 连接地址
jdbc:mysql://localhost:3306/demo
</property>
<property name="dialect"> 方言,以后更换数据库,直接更换方言即可
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">mysql</property>
<property name="connection.password">mysqladmin</property> 密码
<property name="connection.driver_class">
org.gjt.mm.mysql.Driver 驱动程序
</property>
<mapping resource="org/lxh/hibernate/demo01/Person.hbm.xml" /> *.hbm
</session-factory>
</hibernate-configuration>
所有的*.hbm.xml文件,如果要起作用,则必须在hibernate.cfg.xml中进行配置操作。