工欲善其事,必先利其器,用到的相关工具软件及其版本如下所列:
1 、Hibernate (包括hibernate-annotations-3.4.0.GA ,hibernate-distribution-3.3.2.GA ,hibernate-entitymanager-3.4.0.GA 三个压缩包),下载地址 : Hibernate官方网站
2 、Eclipse 3.2 下载地址:Eclipse 官方网站
3 、Mysql 5.0 下载地址:Mysql 官方网站
前期准备工作:
1、 数据库安装与配置
Mysql 安装好以后,新建数据库 quickstart, 新建表 person ,包含 id , firstName , lastname 三个字段。
2、 HibernateTest 项目配置
Eclipse 中新建一个 Java 工程: HibernateTest 。将下载的 Hibernate 三个压缩包解压缩后,把 Hibernate 依赖的包加入到项目的编译路径下。这些 jar 包在解压缩后的 lib 目录下,具体包括: antlr-2.7.6.jar,asm.jar,asm-attrs.jar,cglib.jar,commons-collections.jar,dom4j.jar,ehcache-1.2.3.jar,ejb3-persistence.jar,hibernate-annotations.jar,hibernate-commons-annotations.jar,hibernate-core.jar,jta.jar,log4j.jar,proxool.jar,slf4j-api.jar 等。可以在 Eclipse 中建一个自定义库,把这些 jar 包都扔进去,再加入到项目中。另外,因为适用 mysql ,需要把 jdbc 驱动包 mysql-connector-java-5.0.5.jar 也加入到项目中。 OK ,到这一步开发环境基本上配置完毕了。
开发环境测试:
1 、新建一个 Person 类,如下图所示,包含 id , firstName , lastName 三个参数,并分别生成 getter 和 setter ,属于 com.crazoy 包。
2 、在 com.crazoy 目录下配置 person 的 hibernate 映射,并存为 person.hbm.xml 文件。内容如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.crazoy"
default-lazy="false">
<class name="Person">
<id name="id">
<generator class="native"/>
</id>
<property name="firstName" ></property>
<property name="lastName" ></property>
</class>
</hibernate-mapping>
3 、 Hibernate 会话配置,使之与 Mysql 数据库能建立正常连接。在项目的根目录下新建 hibernate.cfg.xml 文件,内容如下:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory >
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql:///quickstart </property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="hbm2ddl.auto">insert</property>
<mapping resource="com/crazoy/person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
需要注意的是:( 1 )数据的 url 地址: <property name="connection.url">jdbc:mysql:///quickstart</property>; ( 2 )数据库的用户名密码必须设置正确 ; ( 3 ) <mapping resource= “com/crazoy/person.hbm.xml”/> 这里是把数据库中的表 person 与项目中的类 Person 映射到一起;( 4 ) <property name="hbm2ddl.auto">insert</property> ,这里表示对表的操作, insert 为插入,如果是 create 则每次运行测试程序都会新建表的内容。
3、 最后编写测试类, tester.java
最后编译运行程序,然后去 mysql 查看一下表中,已经有新纪录插入到表中。