Hibernate(一)

什么是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中进行配置操作。

你可能感兴趣的:(mysql,xml,Hibernate,MyEclipse,jdbc)