Hibernate之Hibernate环境搭建

一、Hibernate环境搭建的步骤

1.添加Hibernate && SQLServer 的Jar
  antlr-2.7.7.jar
  dom4j-1.6.1.jar
  hibernate-commons-annotations-4.0.5.Final.jar
  hibernate-core-4.3.11.Final.jar
  hibernate-jpa-2.1-api-1.0.0.Final.jar
  jandex-1.1.0.Final.jar
  javassist-3.18.1-GA.jar
  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

  sqljdbc4.jar

2.创建JavaBean类:User.java

 package cn.com.zfc.hibernate.entities;

 /**
*
* @title User
* @describe Hibernate 的 POJO
* @author 张富昌
* @date 2017年4月7日下午10:47:27
*/
public class User {
  private Integer id;
  private String userName;
  private String userDesc;   public User() {
    super();
  }   public User(String userName, String userDesc) {
    super();
    this.userName = userName;
    this.userDesc = userDesc;
  }   public Integer getId() {
    return id;
  }   public void setId(Integer id) {
    this.id = id;
  }   public String getUserName() {
    return userName;
  }   public void setUserName(String userName) {
    this.userName = userName;
  }   public String getUserDesc() {
    return userDesc;
  }   public void setUserDesc(String userDesc) {
    this.userDesc = userDesc;
  }   @Override
  public String toString() {
    return "User [id=" + id + ", userName=" + userName + ", userDesc=" + userDesc + "]";
  }
}

3.使用Xxx.hbm.xml 映射文件映射JavaBean属性到数据库表之间的映射关系:User.hbm.xml

 <?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2017-3-19 13:53:52 by Hibernate Tools 3.5.0.Final -->
<!-- 一般写 package,简化全类名 -->
<hibernate-mapping package="cn.com.zfc.hibernate.entities">
  <class name="User" table="USERS">
    <!-- 映射主键,id:属性,column:字段 -->
    <id name="id" type="java.lang.Integer">
      <column name="ID" />
      <!-- 主键生成策略 -->
      <generator class="native" />
    </id>
    <!-- 映射普通字段,property:属性,column:字段 -->
    <property name="userName" type="java.lang.String">
      <column name="USER_NAME" />
    </property>     <property name="userDesc" type="java.lang.String">
      <column name="USER_DESC" />
    </property>
  </class>
</hibernate-mapping>

4.在hibernate.cfg.xml Hibernate配置文件中配置Hibernate 数据源及相关属性:在hibernate.cfg.xml

 <?xml version="1.0" encoding="UTF-8"?>
<!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 的基本配置 -->     <!-- 数据源信息配置 -->
    <!-- 数据库用户名 -->
    <property name="hibernate.connection.username">sa</property>
    <!-- 数据库密码 -->
    <property name="hibernate.connection.password">123456</property>
    <!-- 数据库驱动宝 -->
    <property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
    <!-- 不指定数据库名称,可以在映射文件中指定数据库名称 -->
    <property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=hibernate-01</property>     <!-- 指定在控制台输出 SQL 语句,便于调试 -->
    <property name="show_sql">true</property>
    <!-- 格式化 SQL 语句 -->
    <property name="format_sql">true</property>
    <!-- 指定数据库生成策略 -->
    <property name="hbm2ddl.auto">update</property>
    <!-- 配置数据库方言 -->
    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>     <!-- 注册 Hibernate 映射文件 -->
    <mapping resource="cn/com/zfc/hibernate/entities/User.hbm.xml" />
  </session-factory>
</hibernate-configuration>

5.使用Hibernate ORM框架完成对JavaBean对象的操作

  ①创建Configuration对象
    Configuration configuration = new Configuration().configure();
  ②创建SessionFactory 工厂类
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
    SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
  ③创建Session对象
    Session session = sessionFactory.openSession();
  ④开启事物 Transaction(查询不需要事务)
    Transaction transaction = session.beginTransaction();
  ⑤执行业务******
    CRUD操作
  ⑥提交事物
    transaction.commit();
  ⑦关闭会话
    session.close();
  ⑧关闭 SessionFactory
    sessionFactory.close();

 6.数据库:hibernate-01

数据表:users

二、JUNIT 单元测试初识

1.单元测试的基本概念

2.使用Junit 搭建Hibernate 测试环境

3.@Test @Before @After

4.Hibernate 环境的测试:TestHibernate.java

 package cn.com.zfc.hibernate.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.junit.After;
import org.junit.Before;
import org.junit.Test; import cn.com.zfc.hibernate.entities.User; /**
*
* @title TestHibernate
* @describe 测试 Hibernate 的环境
* @author 张富昌
* @date 2017年4月7日下午10:47:05
*/
public class TestHibernate {   private Configuration configuration = null;
  private SessionFactory sessionFactory = null;
  private Session session = null;
  private Transaction transaction;   @Before
  public void init() {
    configuration = new Configuration().configure();
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
    sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    session = sessionFactory.openSession();
    transaction = session.beginTransaction();
  }   @After
  public void destory() {
    transaction.commit();
    session.close();
    sessionFactory.close();
  }   // 添加
  @Test
  public void testSave() {
    User user = new User("UU-1", "爱生活,爱编程");
    session.save(user);
  }   // 立即加载
  @Test
  public void testGet() {
    User user = (User) session.get(User.class, 1);
    System.out.println("user:" + user);
  }   // 延迟加载:当数据真正使用时在开始加载
  @Test
  public void testLoad() {
    User user = (User) session.load(User.class, 1);
    System.out.println("user:" + user);
  }   // 删除
  @Test
  public void testDelete() {
    User user = (User) session.load(User.class, 4);
    session.delete(user);
  }   // 修改
  @Test
  public void testUpdate() {
    User user = (User) session.load(User.class, 1);
    user.setUserDesc("我是修改过的东西");
    session.update(user);
  }   @Test
  public void dataSource() {
  } }

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

  1. 最新版ssh hibernate spring struts2环境搭建

    最新版ssh hibernate spring struts2环境搭建 最新版spring Framework下载地址:spring4.0.0RELEASE环境搭建 http://repo.sprin ...

  2. Hibernate 系列 02 - Hibernate介绍及其环境搭建

    引导目录: Hibernate 系列教程 目录 昨晚喝多了,下午刚清醒,继续搞Hibernate.走起. 觉得还行的话,记得点赞哈,给我这个渣渣点学习的动力.有错误的话也请指出,省的我在错误上走了不归 ...

  3. Hibernate 介绍及其 环境搭建

    介绍 数据持久化概念 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.例如:文件的存储.数据的读取等都是数据持久化操作.数据模型可以是任何数据结构或对象模型, ...

  4. hibernate之helloword(环境搭建)

    环境搭建 hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  5. Hibernate(一)——采用Hibernate框架开发环境搭建

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员充分使用对象编程思维来操作数据库.HIbernate的移植性很好,它可以应用于任何JDB ...

  6. hibernate介绍及环境搭建

    1.前言 hibernate与mybatis的位置一样,都是属于DAO层的框架,代替我们原来的JDBC操作数据库,属于ORM(object relationg mapping. 对象关系映射)框架.O ...

  7. Hibernate学习笔记--环境搭建及运行

    1.hibernate开发包下载 http://sourceforge.net/projects/hibernate/files/ 如果不能访问请用代理http://dongtaiwang.com/l ...

  8. Hibernate之环境搭建

    开始之前,我想先理清一个概念,即ORM是什么? ORM介绍 全称:Object/Relation Mapping,即对象/关系映射. ORM也可以理解为一种规范,具体的ORM框架可作为应用程序和数据库 ...

  9. Hibernate学习之——Hibernate环境搭建

    之前在写关于安卓闹钟的教程,写了一半就没后一半了,其实自己也没做好,在校外实习,校内毕业实习又有任务,只能先放放了,等毕业实习结束之后,在继续安卓闹钟开发之旅,相信这个时间不会很久的.现在毕业实习用到 ...

  10. Hibernate之环境搭建及demo

    ORM概念 ORM即Object/Relation Mapping, 对象/关系数据库映射.ORM是一种规范,完成面向对象编程语言到关系数据库之间的映射.J2EE中的JPA就是一种ORM规范. ORM ...

随机推荐

  1. Spring---七大核心模块

    核心容器(Spring Core) 核心容器提供Spring框架的基本功能.Spring以bean的方式组织和管理Java应用中的各个组件及其关系.Spring使用BeanFactory来产生和管理B ...

  2. Add Two Numbers I & II

    Add Two Numbers I You have two numbers represented by a linked list, where each node contains a sing ...

  3. KL散度(Kullback–Leibler divergence)

    KL散度是度量两个分布之间差异的函数.在各种变分方法中,都有它的身影. 转自:https://zhuanlan.zhihu.com/p/22464760 一维高斯分布的KL散度 多维高斯分布的KL散度 ...

  4. js选择checkbox值,组织成key-value形式,传值到后台

    最近项目中遇到这样一个问题,接口定义需要传一个Map<String,String[]> params的参数,需要在jsp页面组织数据到后台操作,所以记下来以后难免还会用到. 以下是java ...

  5. Web测试技术要领

    基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战.基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否 ...

  6. 八、springcloud之服务网关zuul(一)

    一.Zuul简介 zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器. ...

  7. 31 Godoc: documenting Go code 编写良好的文档关于godoc

    Godoc: documenting Go code  编写良好的文档关于godoc 31 March 2011 The Go project takes documentation seriousl ...

  8. 读取文件和输入——read 脚本命令

    Linux之read命令使用 read命令: read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 1)read后面的变量var可以只有一个,也可以有多个,这时如果输入 ...

  9. CSS3实现扇形动画菜单特效

    CSS3实现扇形动画菜单特效 效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html> <head> <meta charset=&q ...

  10. 汇编看C函数调用

    http://blog.csdn.net/wishfly/article/details/5022008   简单的函数调用,通过简单的函数调用反汇编可以清楚了解如下 1.栈到底是什么,如何操纵栈的? ...