Hibernate 在 Intelij中的使用

来源:互联网 发布:windows直接进入桌面 编辑:程序博客网 时间:2024/06/12 12:13

什么是hibernate

首先看一下百度百科对hibernate的描述:

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

这个项目使用hibernate也是用来为安卓端和web端提供数据库访问的,所以一步一步来上手,先从第一个例子开始。


hibernate例子

在第一个例子之前先介绍一下我使用的编译器,为Intellij IDEA,其中自动集成了hibernate和junit的jar包,使用eclipse的小伙伴们要自行装tools了。

第一步:先创建一个新项目

这时要选中web application、Hibernage和自动创建配置文件这三个选项,下一步、下一步……连接数据库的jar包请自行导入。。

这里写图片描述


第二步:修改hibernate的配置文件

项目创建完成后会自动创建这个配置文件,下面我们要修改配置文件了。

这里写图片描述

不同的数据库配置信息会略有差别,这里我用的mysql

<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC        "-//Hibernate/Hibernate Configuration DTD//EN"        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration>    <session-factory>        <property name="connection.url">jdbc:mysql://localhost:3306/sh_books</property>        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <property name="connection.username">root</property>        <property name="connection.password">root</property>        <!-- 配置hibernate的基本信息 -->        <!-- 配置数据库方言dialect -->        <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>        <property name="show_sql">true</property>        <property name="format_sql">true</property>        <!-- 指定自动生成数据表的策略 -->        <property name="hbm2ddl.auto">update</property>        <!-- DB schema will be updated if needed -->        <!-- <property name="hbm2ddl.auto">update</property> -->    </session-factory></hibernate-configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25



第三步:创建对象-关系映射文件

这个嘛,来咱们先连接一下数据库

先点击IDEA左下角的小家伙,这时IDEA最右边就会出现一列工具栏,点击database,来连接我们的数据库。

这里写图片描述

这里写图片描述

这里写图片描述

这时候数据库已经成功连接上了,能看到数据库的信息。

这里写图片描述

接下来通过persistence创建映射文件。

点击IDEA最左边一栏的persistence,右键点击demo

这里写图片描述

这里写图片描述

这时IDEA就非常智能的帮我们创建了java文件和xml文件

这里写图片描述



第四步:编写相应测试类

import com.hibernate.demo.MajorEntity;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import org.junit.Test;/** * Created by violet on 2016/3/10. */public class majorTest {    private SessionFactory sessionFactory;    private Session session;    private Transaction transaction;    @Test    public void test(){        System.out.println("test....");        //1. 创建配置对象        Configuration config = new Configuration().configure();        //2. 创建服务注册对象        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();        //3. 创建会话工厂对象        sessionFactory = config.buildSessionFactory(serviceRegistry);        //4. 会话对象        session = sessionFactory.openSession();        //5. 开启事务        transaction = session.beginTransaction();        //6. 生成专业对象        MajorEntity majorEntity = new MajorEntity("XXXX", "XXXX", 3);        //7. 保存对象进入数据库        session.save(majorEntity);        //8. 提交事务        transaction.commit();        //9. 关闭会话        session.close();        //10. 关闭会话工厂        sessionFactory.close();    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

这时候别忘记hibernate的配置文件要更新,其实刚才产生关系映射文件的时候可以选择更新xml文件来着,给忘了。

这里写图片描述

好,这时候我们跑一下,发现运行成功,这时候log文件显示是这样的

这里写图片描述

再看一下数据库,完美的插入了一条新的数据,这就是用intellij创建第一个hibernate例子的过程,要继续学习啦!