1.首先我们需要去拷贝我们的hibernate所需的jar包

 这里还需要加入我们C3P0的jar包,因为我们hibernate中使用的C3P0连接池

2. 编写我们的关系映射文件Customer.cfg.xml(这里的Customer.cfg.xml和Customer实体类同级)

   <?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.itheima.entity.Customer" table="cst_customer">
      <id name="custId" column="cust_id">
        <generator class="native"></generator>
      </id>
      <property name="custName" column="cust_name"></property>
      <property name="custSource" column="cust_source"></property>
      <property name="custIndustry" column="cust_industry"></property>
      <property name="custLevel" column="cust_level"></property>
      <property name="custAddress" column="cust_address"></property>
      <property name="custPhone" column="cust_phone"></property>
    </class>
  </hibernate-mapping>

</hibernate-mapping>

3.编写我们的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>
      <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
      <property name="hibernate.connection.url">jdbc:mysql:///ssh_280</property>
      <property name="hibernate.connection.username">root</property>
      <property name="hibernate.connection.password">root</property>
      <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
      <!-- 配置C3P0连接池 -->
      <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
      <property name="hibernate.hbm2ddl.auto">update</property>

      <!-- 显示sql语句 show_sql true|false(默认值) -->
      <property name="hibernate.show_sql">true</property>

      <!-- 格式化sql format_sql true|false(默认值) -->
      <property name="hibernate.format_sql">true</property>

      <!-- 获取与当前线程绑定的session-->

      <property name="hibernate.current_session_context_class">thread</property>
      <!-- 映射文件的位置
        class:指定配置了jpa注解的实体类的全限定类名
        resource:xml格式的映射文件
      -->
      <mapping resource="com/itheima/entity/Customer.hbm.xml" />
  </session-factory>
</hibernate-configuration>

4.创建我们的数据库ssh_280

  /*创建客户表*/
  CREATE TABLE `cst_customer` (
  `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
  `cust_name` VARCHAR(32) NOT NULL COMMENT '客户名称(公司名称)',
  `cust_source` VARCHAR(32) DEFAULT NULL COMMENT '客户信息来源',
  `cust_industry` VARCHAR(32) DEFAULT NULL COMMENT '客户所属行业',
  `cust_level` VARCHAR(32) DEFAULT NULL COMMENT '客户级别',
  `cust_address` VARCHAR(128) DEFAULT NULL COMMENT '客户联系地址',
  `cust_phone` VARCHAR(64) DEFAULT NULL COMMENT '客户联系电话',
  PRIMARY KEY (`cust_id`)
  ) ENGINE=INNODB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8;

  /*加入数据*/
  INSERT INTO `cst_customer` VALUES ('1', '传智播客集团', '6', 'IT培训', '23', '北京市昌平区北七家镇修正大厦', '010-66668888');
  INSERT INTO `cst_customer` VALUES ('2', '黑马训练营', '6', 'IT培训', '23', '北京市昌平区北七家镇修正大厦', '010-66668888');
  INSERT INTO `cst_customer` VALUES ('3', '京西集团', '7', '电商', '23', '京西玉泉山', '010-65085588');
  INSERT INTO `cst_customer` VALUES ('4', '修正药业', '7', '医药', '22', '北京市昌平区北七家镇', '010-68909090');

5.写我们的测试类

  public class HibernateTest {

    @Test
    public void addCustomerTest(){
      //加载配置hibernate的核心配置文件
      Configuration cfg = new Configuration();
      cfg.configure();
      //创建SessionFactory
      SessionFactory factory = cfg.buildSessionFactory();
      //获取session对象
      Session session = factory.getCurrentSession();
      //开启事务
      Transaction tx = session.beginTransaction();
      //执行操作crud
      Customer customer = new Customer();
      customer.setCustName("张飞");
      session.save(customer);
      //提交事务
      tx.commit();
    }
  }

最后,我们看一下运行结果

  希望自己每天都能进步一点点!

ssh整合之二hibernate单独搭建的更多相关文章

  1. ssh整合之一spring的单独运行环境

    这是本人第一次写博客,不足之处,还希望各位园友指出,在此先谢谢各位了! 先说我们的这三大框架,即struts,spring,hibernate,我们要进行整合的话,第一步是先单独搭建我们的Spring ...

  2. SSH整合方案二(不带hibernate.cfg.xml)

    整体结构: 1.引入相关jar包 2.编写实体类和映射文件 package cn.zqr.domain; public class Customer { private Long cust_id; p ...

  3. SSH整合时执行hibernate查询报错:java.lang.ClassCastException: com.ch.hibernate.Department_$$_javassist_0 cannot be cast to javassist.util.proxy

    今天在整合ssh三个框架时,有一个功能,是查询所有员工信息,且员工表和部门表是多对一的映射关系,代码能正常运行到查询得到一个List集合,但在页面展示的时候,就报异常了, java.lang.Clas ...

  4. SSH整合(Struts2+hibernate+spring)

    1.创建表 create table t_user( id int primary key auto_increment, username varchar(50), password varchar ...

  5. SSH整合时执行hibernate查询报错:java.lang.ClassCastException: com.ch.hibernate.Depart

    今天在整合ssh三个框架时,有一个功能,是查询所有员工信息,且员工表和部门表是多对一的映射关系,代码能正常运行到查询得到一个List集合,但在页面展示的时候,就报异常了, java.lang.Clas ...

  6. 关于SSH整合中对于Hibernate的Session关闭的问题

    在web.xml的Struts2的配置上面加上 <filter> <filter-name>OpenSessionInViewFilter</filter-name> ...

  7. 由“单独搭建Mybatis”到“Mybatis与Spring的整合/集成”

    在J2EE领域,Hibernate与Mybatis是大家常用的持久层框架,它们各有特点,在持久层框架中处于领导地位. 本文主要介绍Mybatis(对于较小型的系统,特别是报表较多的系统,个人偏向Myb ...

  8. Hibernate框架搭建实例

    一,Hibernate是一个持久层,是一个专门负责管理数据库连接的框架: 二,Hibernate的搭建实例: 1.在Hibernate的官方网站(http://www.hibernate.org)可以 ...

  9. 二 SSH整合:Spring整合Hibernate,无障碍整合&无核心配置整合,Hibernate模版常用方法,

    重建SSH项目 java项目可以直接复制,但是web项目除了改名字还要该配置,如下: 方式一:无障碍整合:带Hibernate配置文件 <?xml version="1.0" ...

随机推荐

  1. 软件测试第二周作业 WordCount

    本人github地址:  https://github.com/wenthehandsome23 psp阶段 预估耗时 (分钟) 实际耗时 (分钟) 计划 30 10 估计这个任务需要多少时间 20 ...

  2. 值得 .NET 开发者了解的15个特性

    本文列举了 15 个值得了解的 C# 特性,旨在让 .NET 开发人员更好的使用 C# 语言进行开发工作. 1. ObsoleteAttribute ObsoleteAttribute 适用于除组件. ...

  3. iOS加密算法总结

    常用加密算法: DES:Data Encryption Standard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的. DES(数据加密标准)原理: DES是一个分组加密算法,它以 ...

  4. Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  5. java语言与jvm虚拟机简介

    一.java语言 1.1 支持面向对象编程oop 强调支持,因为java同样可以面向过程编程. oop的三大特性是:封装.继承.多态. 封装主要针对成员变量而言,oop的思想要求成员变量均为私有,不应 ...

  6. SpringBoot工作机制

    1:前言 回顾探索Spring框架 1.spring ioc IoC其实有两种方式,一种就是DI,而另一种是DL,即Dependency Lookup(依赖查找),前者是当前软件实体被动接受其依赖的其 ...

  7. Javascript实现继承

    以下转自阮一峰的文章:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance_continued.h ...

  8. 测试框架Mocha

    NodeJS里最常用的测试框架估计就是mocha了.它支持多种node的assert libs, 同时支持异步和同步的测试,同时支持多种方式导出结果,也支持直接在browser上跑Javascript ...

  9. 【Bootstrap】 bootstrap-table表格组件

    [Bootstrap-table] 顾名思义,这个组件专注于bootstrap风格的表格的设计,并且提供了很多表格的基础和进阶的功能,给我们开发前端的表格省下很多力气. 本文主要参考这位博主的系列文章 ...

  10. 『备注』&#x; 格式 的编码转换

    在很多 网站(或者很多 WebService), 我们总能看到 Ӓ &#A22A;  这种格式 的编码. 如何将这种编码 转换成 实际文本,C#代码如下: //各种 幺蛾子网页图标 请参见: ...