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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容