美文网首页
4月7日Hibernate复习(环境+搭建)

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

作者: WBert | 来源:发表于2017-05-14 16:10 被阅读0次

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

    相关文章

      网友评论

          本文标题:4月7日Hibernate复习(环境+搭建)

          本文链接:https://www.haomeiwen.com/subject/xdkjattx.html