SSH与SSM学习之hibernate01——介绍与环境搭建


SSH与SSM学习之hibernate01——介绍与环境搭建

一、hibernate介绍

Hibernate 是一个高性能的对象关系型持久化存储和查询的服务,其遵循开源的 GNU Lesser General Public License (LGPL) 而且可以免费下载。Hibernate 不仅关注于从 Java 类到数据库表的映射,也有 Java 数据类型到 SQL 数据类型的映射,另外也提供了数据查询和检索服务。
这个教程将指导你如何以简单的方式使用 Hibernate 来开发基于数据库的 Web 应用程序。


二、所需环境

2.1 开发工具

我们需要使用这个框架,需要自己有开发工具,如:eclipse、idea 等。我使用的是idea。下载地址如下

https://www.jetbrains.com/idea/

2.2 数据库

既然是操作数据库的,那么我们应该需要数据库吧。你可以使用 MS SQLServer、Oracle、MySql。我使用的是 MySql.

MySql 下载地址

https://dev.mysql.com/downloads/windows/

2.3 hibernate

既然我们要学习 hibernate ,那么它必须不能少、

hibernate下载地址

http://hibernate.org/orm/downloads/

2.4 junit(非必须)

这个单元测试的包,我们是用来写代码的时候测试用的。为了我们测试方便,加上这个包,非必须。使用junit.jar还需需要导入 hamcrest-core.jar


三、项目的基本配置

你也可以不用我的方式创建,可以按网上的创建

使用Intellij IEDA创建第一个hibernate例子

3.1 创建项目

这里写图片描述


3.2 填写项目名称

这里写图片描述


3.3 创建classes和lib目录

这里写图片描述


3. 4 导入hibernate包

这里写图片描述


3. 5 打开当前项目的配置

这里写图片描述


3. 6 创建项目的lib

这里写图片描述


3. 7 选择jar包

这里写图片描述

这里写图片描述


3. 8 修改添加以后的 libraries 名字

这里写图片描述


3. 9 配置 .class 的输出路径

这里写图片描述


3. 10 添加lib的依赖

这里写图片描述


3. 11 点击配置

这里写图片描述


3. 12 添加Tomcat

这里写图片描述


3. 13 更改名称

这里写图片描述


3. 14 添加 Artifacts

这里写图片描述


3. 15 更改访问路径

这里写图片描述


四、Hibernate的基本配置

上面的步骤,基本完成了我们配置,那么现在我们来搞一把,hibernate。

4.1 创建我们的包

在src 下创建我们的包 com.qwm.hilbernate01

4.2 创建 User类

com.qwm.hilbernate01包下,创建 User类,如下(如果你自己定义了构造方法,必须添加为空构造方法)

package com.qwm.hilbernate01;
/**
 * @author:qiwenming
 * @date:2017/9/16 0016   19:19
 * @description:
 * User类
 */
public class User {
    private int id;
    private String name;
    private int age;

    public User() {
    }

    public User(String name, int age) {
        this.name = name;
        this.age = 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;
    }
}

4.3 创建 user.hbm.xml

com.qwm.hilbernate01包下,创建文件 user.hbm.xml,配置如下

<?xml version="1.0" encoding="UTF-8"?>
<!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.qwm.hilbernate01.User">
        <id name="id">
            <!--id自增-->
            <generator class="increment"></generator>
        </id>
        <property name="name"/>
        <property name="age"/>
    </class>
</hibernate-mapping>

4.4 创建 hibernate.cfg.xml

src 下创建 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>
        <!--MySql数据库驱动-->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <!--数据库-->
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/htest</property>
        <!--用户名-->
        <property name="hibernate.connection.username">root</property>
        <!--密码-->
        <property name="hibernate.connection.password">xm123456</property>
        <!--数据库方言-->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <!--自动创建表-->
        <property name="hibernate.hbm2ddl.auto">update</property>

        <!--导入 User 配置-->
        <mapping resource="com/qwm/hilbernate01/user.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

4.5 导入Junit包

如果使用Junit测试,如要添加如下包

junit.jar

hamcrest-core.jar

4.6 创建HelloTest类

com.qwm.hilbernate01包下,创建类 HelloTest.java,测试我们的hibernate

package com.qwm.hilbernate01;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.junit.Test;

/**
 * 测试一
 */
public class HelloTest {

    /**
     * 测试一
     */
    @Test
    public void testUser1(){
        // 1.配置
        StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
        // 2. 获取Session 工厂
        SessionFactory factory = new MetadataSources(registry).buildMetadata().buildSessionFactory();
        // 3. 打开Session
        Session session = factory.openSession();
        // 4. 开启事物
        Transaction t = session.beginTransaction();
        // 5. 创建对象
        User user = new User("wiming",19);
        // 6. 对象持久化
        session.persist(user);
        // 7. 提交事务
        t.commit();
        // 8. 关闭Session
        session.close();
        System.out.println("创建成功");
    }
}

4.7 查看我们的数据库的表

如下

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值