一、下载Hibernate包的下载

官网地址:http://hibernate.org/orm/

下载版本:hibernate-release-4.3.11.Final

二、Hibernate jar包介绍

包名

用途

hibernate-core-4.3.11.Final.jar Hibernate核心包
antlr-2.7.7.jar Hibernate利用它实现从HQL到SQL的转换
dom4j-1.6.1.jar 解析XML配置文件和XML映射文件
hibernate-commons-annotations-4.0.5.Final.jar Hibernate注解包
hibernate-jpa-2.1-api-1.0.0.Final.jar JPA2.1接口库
jandex-1.1.0.Final.jar 用来索引Anotation的
javassist-3.18.1-GA.jar Hibernate用它来实现PO字节码的动态生成
jboss-logging-3.1.3.GA.jar 日志服务通用库
jboss-logging-annotations-1.2.0.Beta1.jar 实现带注释的借口的具体实现类
jboss-transaction-api_1.2_spec-1.0.0.Final.jar JTA规范包

三、Hibernate核心配置文件

hibernate.cfg.xml:是Hibernate的核心配置文件,主要功能有:

  • 配置数据库连接的各种属性
  • 注册对象关系映射文件。
  • 开发阶段的调试信息。
  • 运行时的日志信息。

    四、搭建Hibernate开发环境

  • 新建javaproject工程。
  • 新建libs文件夹,将hibernate中required的所有文件复制到java工程的libs文件夹中,将所连接的数据库驱动包也复制到文件夹下。
  • 将hibernate中project下etc下的hibernate.cfg.xml和log4j.properties复制到SRC根目录下。

  • 五、测试代码

    1、 创建学生表

    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> <!-- 配置数据库连接 -->
    <!-- Hibernate的方言:生成SQL语句的规则 -->
    <property name="hibernate.dialect">
    org.hibernate.dialect.MySQL5Dialect
    </property>
    <!-- 数据库驱动包 -->
    <property name="hibernate.connection.driver_class">
    com.mysql.jdbc.Driver
    </property>
    <!-- 数据库URL地址 -->
    <property name="hibernate.connection.url">
    jdbc:mysql://127.0.0.1:3306/test
    </property>
    <!-- 用户名 -->
    <property name="hibernate.connection.username">root</property>
    <!-- 密码 -->
    <property name="hibernate.connection.password">root</property> <!-- 是否输出SQL语句 -->
    <property name="show_sql">true</property>
    <!-- 是否格式化SQL语句 -->
    <property name="format_sql">true</property> <!-- 如果对象有更新则重新生成SQL表
    create:重新生成
    update:更新
    -->
    <property name="hbm2ddl.auto">update</property> <!-- 注册实体映射文件 -->
    <mapping resource="com/lxit/entity/Student.hbm.xml" />
    </session-factory>
    </hibernate-configuration>

    2、学生类

    package com.lxit.entity;
    
    import java.io.Serializable;
    
    public class Student implements Serializable{
    
        public Student(){}
    /**
    *
    */
    private static final long serialVersionUID = 1L; public Student(String loginId, String loginPwd, String realName, String phone, String address, String email) {
    super();
    this.loginId = loginId;
    this.loginPwd = loginPwd;
    this.realName = realName;
    this.phone = phone;
    this.address = address;
    this.email = email;
    }
    private String loginId;
    private String loginPwd;
    private String realName;
    private String phone;
    private String address;
    private String email; public String getLoginId() {
    return loginId;
    }
    public void setLoginId(String loginId) {
    this.loginId = loginId;
    }
    public String getLoginPwd() {
    return loginPwd;
    }
    public void setLoginPwd(String loginPwd) {
    this.loginPwd = loginPwd;
    }
    public String getRealName() {
    return realName;
    }
    public void setRealName(String realName) {
    this.realName = realName;
    }
    public String getPhone() {
    return phone;
    }
    public void setPhone(String phone) {
    this.phone = phone;
    }
    public String getAddress() {
    return address;
    }
    public void setAddress(String address) {
    this.address = address;
    }
    public String getEmail() {
    return email;
    }
    public void setEmail(String email) {
    this.email = email;
    }
    public static long getSerialversionuid() {
    return serialVersionUID;
    } }

    3、实体映射文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping>
    <class name="com.lxit.entity.Student" table="Student"> <id name="loginId" column="loginId">
    <generator class="assigned"></generator>
    </id> <property name="loginPwd" column="loginPwd"></property>
    <property name="realName" column="realName"></property>
    <property name="phone" column="phone"></property>
    <property name="address" column="address"></property>
    <property name="email" column="email"></property> </class>
    </hibernate-mapping>

    4、测试类

    package com.lxit.test;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    import org.hibernate.tool.hbm2ddl.SchemaExport;
    import org.junit.Test; import com.lxit.entity.Student; public class StudentTest { //@Test
    public void createTable(){
    Configuration cfg = new Configuration().configure();
    SchemaExport export = new SchemaExport(cfg);
    export.create(true, true); //创建表,在控制台输出SQL语句
    } @Test
    public void add(){
    Configuration cfg = new Configuration().configure(); //hibernate3.0版本创建sessionFactory的方法
    //SessionFactory factory = cfg.buildSessionFactory(); //hibernate4.0版本创建sessionFactory方法
    StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties());
    ServiceRegistry sr = ssrb.build();
    SessionFactory factory = cfg.buildSessionFactory(sr);
    Session session = factory.openSession();
    Transaction tran = session.beginTransaction(); Student stu = new Student("zhangsan", "123123", "张三", "12345678901", "广东深圳", "zhangsan@163.com"); try {
    session.save(stu);
    tran.commit();
    System.out.println("保存成功!");
    } catch (Exception e) {
    tran.rollback();
    }finally{
    session.close();
    factory.close();
    }
    }
    }

    Hibernate开发环境搭建的更多相关文章

    1. 手把手在MyEclipse中搭建Hibernate开发环境

      (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53414303冷血之心的博客) 在MyEclipse中如何搭建Hib ...

    2. spring mvc4.1.6 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25 开发环境搭建及相关说明

      一.准备工作 开始之前,先参考上一篇: struts2.3.24 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25 开发环境搭建及相关说明 struts2.3 ...

    3. Java 开发环境搭建

      找到一篇很不錯的Java開發環境搭建的博客, 原文地址為:http://www.cnblogs.com/bribe/p/3377008.html Java 开发环境搭建 一.开发工具获取 1.开发工具 ...

    4. [Hibernate 1]Hibernate的环境搭建

      一.Hibernate是什么 直接使用JDBC操作数据库的步骤很繁琐,JDBC操作的是关系型数据库,而我们用JAVA开发程序,则使用面向对象的思想.Hibernate正是在这两种不同的模型之间建立关联 ...

    5. Java基本开发环境搭建(适合第一次使用)

      Java基本开发环境搭建(适合第一次使用) 编写人:cc 阿爸 2013-10-17 一.开发工具获取 1.开发工具包JDK l  下载地址: 到ORACLE公司官方网站(http://www.ora ...

    6. 工作流--JBPM简介及开发环境搭建

      一. 工作流简介 项目中不断的接触工作流,点点滴滴积累了一些,下面把一些学习到的东西整理记录下来. 工作流一般的适用场景:公文流转.行政审批.订单处理.产品研发.制造过程等.用专业一点的语言来描述工作 ...

    7. Spring框架入门之开发环境搭建(MyEclipse2017平台)

      基于MyEclipse2017平台搭建Spring开发环境,这里MyEclipse已将Spring集成好了,我们只需要做一简单配置即可 一.环境配置 OS:Windows7 64位 IDE工具:MyE ...

    8. 1.mybatis实战教程mybatis in action之一开发环境搭建

      转自:https://www.cnblogs.com/shanheyongmu/p/5652471.html 什么是mybatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框 ...

    9. Flask框架的学习与实战(一):开发环境搭建

      Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2.很多功能的实现都参考了django框架.由于项目需要,在 ...

    随机推荐

    1. POJ3666 Making the Grade [DP,离散化]

      题目传送门 Making the Grade Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9090   Accepted: ...

    2. 洛谷——P1629 邮递员送信

      P1629 邮递员送信 题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要 ...

    3. mysql中timestamp类型的应用

      在开发过程中我们一般需要记住某条记录的创建时间,在MySQL中如果使用dateTime类型的话,无法设定默认值,我们可以采用timestamp类型来记录创建时间.但是随之而来的有个问题,比如说你的这个 ...

    4. 使用phonegap开发安卓HLS播放软件解决方案

      目前使用phonegap开发的手机应用,很少涉及视频播放的功能,究其原因,主要是phonegap提供的API里面对视频播放功能支持度不够,当然播放音频一般情况下还是能够实现的,由于工作需要,自己研究了 ...

    5. CocurrentHashMap和HashTable区别分析

      集合是编程中最常用的数据结构.而谈到并发,几乎总是离不开集合这类高级数据结构的支持.比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap).这篇文章主 ...

    6. 【HDU 5730】Shell Necklace

      http://acm.hdu.edu.cn/showproblem.php?pid=5730 分治FFT模板. DP:\(f(i)=\sum\limits_{j=0}^{i-1}f(j)\times ...

    7. AGC 018 A - Getting Difference

      题面在这里! 天呐,我已经做了一天水题了mmp 养生最重要,恩. 首先发现最终序列里的元素肯定是 <= max 的,因为无论何时序列里都不会有负数,所以减的话不会变大(反向大只有>2*ma ...

    8. 【FFT(母函数)+容斥】BZOJ3771-Triple

      [题目大意] 给出 n个物品,价值为别为Xi且各不相同,现在可以取1个.2个或3个,问每种价值和有几种情况? *顺序不同算一种 [思路] 显然是个母函数,A表示每种物品取一个的情况,B表示每种物品取二 ...

    9. 【MySQL笔记】数据库的查询

      数据库的查询 注:文中 [ ...] 代表该部分可以去掉. 理论基础:对表对象的一组关系运算,即选择(selection).投影(projection)和连接(join) 1.select语句 子语句 ...

    10. HDU 5294 Tricks Device 网络流 最短路

      Tricks Device 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5294 Description Innocent Wu follows D ...