第一步 搭建Hibernate的环境.
hibernate开发包下载地址是http://hibernate.org/orm.
题外补充-------------------------------------------------------------------------------
捕获3.PNG
首先看下我的搭建环境目录
捕获4.PNG
对于上述lib里面的jar包,其中hibernate的包来自其下载里面lib-->required所有jar包,然后数据库驱动jar包(我用的是mysql的),然后junit.jar(我用它来进行单元测试的)。
src目录下的两个文件是来自下载的hibernate里的project-->etc里的2个文件。
这样环境就搭建完成了!!!
第二步 Hibernate应用开发步骤
数据库sql的四种语言
DDL Data Definition Language 数据库定义语言
DCL Data Control Language 数据库操纵语言
DML Data Manipulation Language 数据库控制语言
TCL Transaction Control Language 事务控制语言
先来个案例驱动:你要完成的是通过eclipse的代码输写,来使得mysql数据库里的test数据库创建一个学生表。然后在学生表里添加一行数据。
-----------------遇到生单词------------------------------
property n 特性,属性,财产
configuration n 配置,布局,构造,组态,排列
configure v 配置,设定
dialect n 方言,专业术语
parse v 解析
哈哈哈完成了,现在我来总结一下我完成的步骤。
思路:首先既然要在数据库里面创建一个表,那么我得事先配置好参数,以达到连接数据库的作用(即实现持久层的连接)
执行:我在hibernate.cfg.xml里面开始进行配置
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="foo">
<!-- 配置mysql数据库的连接参数 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
</session-factory>
</hibernate-configuration>
其实上述代码很好理解<property name=""></property>name后面很好记根据你想要的参数配置driver_class, url,username,password其实就多了一个hibernate.dialect。结构也是<></>这样套。至于具体的参数可以参考hibernate-->project-->etc-->hibernate.properties
思路:配置完成了与数据库的连接(JDBC作用),那么我就要为其设计Student表让它在代码中抽象成一个Student对象,然后为了达到ORM(对象关系映射)作用,为其配置一个Student.hbm.xml.
执行:Student类代码如下,切记别忘了get/set方法添加。
package com.wyt.entity;
public class Student
{
private int id ;
private String name;
private int age;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
}
然后为其设计映射文件Student.hbm.xml
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.wyt.entity.Student" table="student">
<id name="id" column="student_id">
<generator class="native"></generator>
</id>
<property name="name" column="student_name"></property>
<property name="age" column="student_age"></property>
</class>
</hibernate-mapping>
其中格式就是,id为主键,property是属性 name对应的是属性的命名,column对应表
<hibernate-mapping>
<class name="" tabel>
<id></id>
<property name="" column=""></property>
</class>
</hibernate-mapping>
最后要将这个文件在hibernate.cfg.xml里面进行注册,添加这段代码<mapping resource="com/wyt/entity/Student.hbm.xml"/>
思路:这样一个映射ORM就完成了,为了对其进行测试验证,新加了一个单元测试用例如下(需要用到junit包):
捕获.PNG然后就能完美的运行了,如果遇到了Could not parse mapping document from resource xxxxxxx 问题,很荣幸的告诉你,你的映射文件(xxx.hbm.xml)里面输写有误或者不规范。
网友评论