4月7日Hibernate复习(环境+搭建)

第一步 搭建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)里面输写有误或者不规范。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容