1 导入所需的jar包

1 导入hibernate必须的jar包

2 导入驱动包

2 创建数据库,准备表,实体

1 创建hibernate数据库

  1. CREATE DATABASE hibernate;

2 创建cst_customer表

  1. CREATE TABLE `cst_customer` (
  2. `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
  3. `cust_name` VARCHAR(32) NOT NULL COMMENT '客户名称(公司名称)',
  4. `cust_source` VARCHAR(32) DEFAULT NULL COMMENT '客户信息来源',
  5. `cust_industry` VARCHAR(32) DEFAULT NULL COMMENT '客户所属行业',
  6. `cust_level` VARCHAR(32) DEFAULT NULL COMMENT '客户级别',
  7. `cust_linkman` VARCHAR(64) DEFAULT NULL COMMENT '联系人',
  8. `cust_phone` VARCHAR(64) DEFAULT NULL COMMENT '固定电话',
  9. `cust_mobile` VARCHAR(16) DEFAULT NULL COMMENT '移动电话',
  10. PRIMARY KEY (`cust_id`)
  11. ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

3 Customer实体

  1. package www.test.domain;
  2.  
  3. public class Customer {
  4.  
  5. /*
  6. * CREATE TABLE `cst_customer` (
  7. `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
  8. `cust_name` VARCHAR(32) NOT NULL COMMENT '客户名称(公司名称)',
  9. `cust_source` VARCHAR(32) DEFAULT NULL COMMENT '客户信息来源',
  10. `cust_industry` VARCHAR(32) DEFAULT NULL COMMENT '客户所属行业',
  11. `cust_level` VARCHAR(32) DEFAULT NULL COMMENT '客户级别',
  12. `cust_linkman` VARCHAR(64) DEFAULT NULL COMMENT '联系人',
  13. `cust_phone` VARCHAR(64) DEFAULT NULL COMMENT '固定电话',
  14. `cust_mobile` VARCHAR(16) DEFAULT NULL COMMENT '移动电话',
  15. PRIMARY KEY (`cust_id`)
  16. ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  17. */
  18. private Long cust_id;
  19.  
  20. private String cust_name;
  21. private String cust_source;
  22. private String cust_industry;
  23. private String cust_level;
  24. private String cust_linkman;
  25. private String cust_phone;
  26. private String cust_mobile;
  27. public Long getCust_id() {
  28. return cust_id;
  29. }
  30. public void setCust_id(Long cust_id) {
  31. this.cust_id = cust_id;
  32. }
  33. public String getCust_name() {
  34. return cust_name;
  35. }
  36. public void setCust_name(String cust_name) {
  37. this.cust_name = cust_name;
  38. }
  39. public String getCust_source() {
  40. return cust_source;
  41. }
  42. public void setCust_source(String cust_source) {
  43. this.cust_source = cust_source;
  44. }
  45. public String getCust_industry() {
  46. return cust_industry;
  47. }
  48. public void setCust_industry(String cust_industry) {
  49. this.cust_industry = cust_industry;
  50. }
  51. public String getCust_level() {
  52. return cust_level;
  53. }
  54. public void setCust_level(String cust_level) {
  55. this.cust_level = cust_level;
  56. }
  57. public String getCust_linkman() {
  58. return cust_linkman;
  59. }
  60. public void setCust_linkman(String cust_linkman) {
  61. this.cust_linkman = cust_linkman;
  62. }
  63. public String getCust_phone() {
  64. return cust_phone;
  65. }
  66. public void setCust_phone(String cust_phone) {
  67. this.cust_phone = cust_phone;
  68. }
  69. public String getCust_mobile() {
  70. return cust_mobile;
  71. }
  72. public void setCust_mobile(String cust_mobile) {
  73. this.cust_mobile = cust_mobile;
  74. }
  75. @Override
  76. public String toString() {
  77. return "Customer [cust_id=" + cust_id + ", cust_name=" + cust_name + "]";
  78. }
  79. }

3 书写orm元数据(对象与表的映射配置文件)

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC
  3. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4. "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
  5. <!-- 配置表与实体的关系 -->
  6. <hibernate-mapping>
  7. <class name="www.test.domain.Customer" table="cst_customer">
  8. <id name="cust_id" column="cust_id">
  9. <generator class="native"></generator>
  10. </id>
  11. <property name="cust_name" column="cust_name"></property>
  12. <property name="cust_source" column="cust_source"></property>
  13. <property name="cust_industry" column="cust_industry"></property>
  14. <property name="cust_level" column="cust_level"></property>
  15. <property name="cust_linkman" column="cust_linkman"></property>
  16. <property name="cust_phone" column="cust_phone"></property>
  17. <property name="cust_mobile" column="cust_mobile"></property>
  18. </class>
  19. </hibernate-mapping>

1 导入约束

  1. <!DOCTYPE hibernate-mapping PUBLIC
  2. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

2 实体

  1. package www.test.domain;
  2.  
  3. public class Customer {
  4.  
  5. /*
  6. * CREATE TABLE `cst_customer` (
  7. `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
  8. `cust_name` VARCHAR(32) NOT NULL COMMENT '客户名称(公司名称)',
  9. `cust_source` VARCHAR(32) DEFAULT NULL COMMENT '客户信息来源',
  10. `cust_industry` VARCHAR(32) DEFAULT NULL COMMENT '客户所属行业',
  11. `cust_level` VARCHAR(32) DEFAULT NULL COMMENT '客户级别',
  12. `cust_linkman` VARCHAR(64) DEFAULT NULL COMMENT '联系人',
  13. `cust_phone` VARCHAR(64) DEFAULT NULL COMMENT '固定电话',
  14. `cust_mobile` VARCHAR(16) DEFAULT NULL COMMENT '移动电话',
  15. PRIMARY KEY (`cust_id`)
  16. ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  17. */
  18. private Long cust_id;
  19.  
  20. private String cust_name;
  21. private String cust_source;
  22. private String cust_industry;
  23. private String cust_level;
  24. private String cust_linkman;
  25. private String cust_phone;
  26. private String cust_mobile;
  27. public Long getCust_id() {
  28. return cust_id;
  29. }
  30. public void setCust_id(Long cust_id) {
  31. this.cust_id = cust_id;
  32. }
  33. public String getCust_name() {
  34. return cust_name;
  35. }
  36. public void setCust_name(String cust_name) {
  37. this.cust_name = cust_name;
  38. }
  39. public String getCust_source() {
  40. return cust_source;
  41. }
  42. public void setCust_source(String cust_source) {
  43. this.cust_source = cust_source;
  44. }
  45. public String getCust_industry() {
  46. return cust_industry;
  47. }
  48. public void setCust_industry(String cust_industry) {
  49. this.cust_industry = cust_industry;
  50. }
  51. public String getCust_level() {
  52. return cust_level;
  53. }
  54. public void setCust_level(String cust_level) {
  55. this.cust_level = cust_level;
  56. }
  57. public String getCust_linkman() {
  58. return cust_linkman;
  59. }
  60. public void setCust_linkman(String cust_linkman) {
  61. this.cust_linkman = cust_linkman;
  62. }
  63. public String getCust_phone() {
  64. return cust_phone;
  65. }
  66. public void setCust_phone(String cust_phone) {
  67. this.cust_phone = cust_phone;
  68. }
  69. public String getCust_mobile() {
  70. return cust_mobile;
  71. }
  72. public void setCust_mobile(String cust_mobile) {
  73. this.cust_mobile = cust_mobile;
  74. }
  75. @Override
  76. public String toString() {
  77. return "Customer [cust_id=" + cust_id + ", cust_name=" + cust_name + "]";
  78. }
  79.  
  80. }

3 orm元数据

  1. <!-- 配置表与实体的关系 -->
  2. <hibernate-mapping>
  3. <class name="www.test.domain.Customer" table="cst_customer">
  4. <id name="cust_id" column="cust_id">
  5. <generator class="native"></generator>
  6. </id>
  7. <property name="cust_name" column="cust_name"></property>
  8. <property name="cust_source" column="cust_source"></property>
  9. <property name="cust_industry" column="cust_industry"></property>
  10. <property name="cust_level" column="cust_level"></property>
  11. <property name="cust_linkman" column="cust_linkman"></property>
  12. <property name="cust_phone" column="cust_phone"></property>
  13. <property name="cust_mobile" column="cust_mobile"></property>
  14. </class>
  15. </hibernate-mapping>

4.书写主配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-configuration PUBLIC
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  4. "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
  5. <hibernate-configuration>
  6. <session-factory>
  7. <!--
  8. #hibernate.dialect org.hibernate.dialect.MySQLDialect
  9. #hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
  10. #hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
  11. #hibernate.connection.driver_class com.mysql.jdbc.Driver
  12. #hibernate.connection.url jdbc:mysql:///test
  13. #hibernate.connection.username gavin
  14. #hibernate.connection.password
  15. -->
  16. <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  17. <!-- /// 表示连接本机 -->
  18. <property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
  19. <property name="hibernate.connection.username">root</property>
  20. <property name="hibernate.connection.password">root</property>
  21. <property name="hibernate.dialect">org.hibernate.dialect.MySQLMyISAMDialect</property>
  22.  
  23. <!--
  24. #hibernate.show_sql true //打印生成的sql
  25. #hibernate.format_sql true //格式化sql 不格式都会在一行
  26. -->
  27. <property name="hibernate.show_sql">true</property>
  28. <property name="hibernate.format_sql">true</property>
  29.  
  30. <!--
  31. ## auto schema export
  32.  
  33. #hibernate.hbm2ddl.auto create-drop
  34. #hibernate.hbm2ddl.auto create
  35. #hibernate.hbm2ddl.auto update
  36. #hibernate.hbm2ddl.auto validate
  37. -->
  38. <property name="hibernate.hbm2ddl.auto">update</property>
  39.  
  40. <mapping resource="www/test/domain/Customer.hbm.xml"/>
  41. </session-factory>
  42. </hibernate-configuration>

1 第一部分

  1. <!--
  2. #hibernate.dialect org.hibernate.dialect.MySQLDialect
  3. #hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
  4. #hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
  5. #hibernate.connection.driver_class com.mysql.jdbc.Driver
  6. #hibernate.connection.url jdbc:mysql:///test
  7. #hibernate.connection.username gavin
  8. #hibernate.connection.password
  9. -->
  10. <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  11. <!-- /// 表示连接本机 -->
  12. <property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
  13. <property name="hibernate.connection.username">root</property>
  14. <property name="hibernate.connection.password">root</property>
  15. <property name="hibernate.dialect">org.hibernate.dialect.MySQLMyISAMDialect</property>

2 第二部分

  1. <!--
  2. #hibernate.show_sql true //打印生成的sql
  3. #hibernate.format_sql true //格式化sql 不格式都会在一行
  4. -->
  5. <property name="hibernate.show_sql">true</property>
  6. <property name="hibernate.format_sql">true</property>
  7.  
  8. <!--
  9. ## auto schema export
  10.  
  11. #hibernate.hbm2ddl.auto create-drop
  12. #hibernate.hbm2ddl.auto create
  13. #hibernate.hbm2ddl.auto update
  14. #hibernate.hbm2ddl.auto validate
  15. -->
  16. <property name="hibernate.hbm2ddl.auto">update</property>

3 第三部分

  1. <mapping resource="www/test/domain/Customer.hbm.xml"/>

5.书写代码测试

  1. package www.test.a_hello;
  2.  
  3. import org.hibernate.Session;
  4. import org.hibernate.SessionFactory;
  5. import org.hibernate.Transaction;
  6. import org.hibernate.cfg.Configuration;
  7. import org.junit.Test;
  8.  
  9. import www.test.domain.Customer;
  10.  
  11. // 测试hibernate 框架
  12. public class Demo {
  13.  
  14. @Test
  15. //保存客户
  16. public void fun1(){
  17. Configuration conf = new Configuration().configure();
  18.  
  19. SessionFactory sessionFactory = conf.buildSessionFactory();
  20.  
  21. Session session = sessionFactory.openSession();
  22.  
  23. Transaction tx = session.beginTransaction();
  24. //-----------------
  25. Customer customer = new Customer();
  26. customer.setCust_name("百度公司");
  27.  
  28. session.save(customer); //执行保存
  29.  
  30. //--------------------
  31. tx.commit();
  32.  
  33. session.close();
  34. sessionFactory.close();
  35.  
  36. }
  37. }

hibernate框架的搭建的更多相关文章

  1. 【Hibernate】hibernate框架的搭建

    1, Hibernate 是什么 Hibernate是java应用程序与数据库交互的开发的框架. Hibernate是一个开源,轻量级的ORM(对象关系映射)工具. 2,Hibernate框架的优点 ...

  2. Hibernate框架_搭建第一个Hibernate框架

    一.eclipse搭建 A.创建动态web项目 New-->Dynamic web project(web project) B.导入jar包 1.数据库驱动包 2.hibernate开发必须j ...

  3. (01)hibernate框架环境搭建及测试

    ---恢复内容开始--- 1.创建javaweb项目 2.导包 hibernate包 hibernate\lib\required\*.jar 数据库驱动包 mysql-connector-java- ...

  4. hibernate框架的搭建与简单实现增删改

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...

  5. 【Spring】Spring+struts2+Hibernate框架的搭建

    1.搭建过程 首先需要引入Spring.Struts2.Hibernate的开发包,已经数据库的驱动包. UserAction.java文件 package cn.shop.action; impor ...

  6. hibernate框架环境搭建与使用

    搭建环境 一.新建一个项目 , 导包   一个是hibernate的jar包,一个是jdbc的jar包 hibernate的jar包 这些jar包全部导入 二.配置Hibernate. 1.建立hib ...

  7. SpringMVC+Hibernate框架快速搭建

    1.  新建Maven项目springmvc 2.   pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  8. hibernate框架搭建

    hibernate框架的搭建步骤: 1.导包 2.创建数据库准备表 3.书写orm元数据(对象与表的映射配置文件) 4.书写配置文件 5.书写代码测试 一.导包: 创建web-maven工程添加hib ...

  9. Hibernate框架学习(一)——入门

    一.框架是什么 1.框架是用来提高开发效率的 2.封装好了一些功能,我们需要使用这些功能时,调用即可,不需要手动实现 3.框架可以理解成一个半成品的项目,只要懂得如何驾驭这些功能即可 二.hibern ...

随机推荐

  1. 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite ) - Zery-zhang

    一 基本介绍 操作文档,文件夹,需要用到的类 1 Directory (静态类) :      用于创建.移动和删除等操作通过 目录 和子 目录 DirectoryInfo (非静态): 2 File ...

  2. 【大数据之数据仓库】安装部署GreenPlum集群

    本篇将向大家介绍如何快捷的安装部署GreenPlum测试集群,大家可以跟着我一块儿实践一把^_^ 1.主机资源 申请2台网易云主机,操作系统必须是RedHat或者CentOS,配置尽量高一点.如果是s ...

  3. 3人从小公寓创业,到世界最大引擎公司,Unity创始人谈14年...

    Unity创始人David Helgason出席了5月11 - 13日在上海举办的Unite 2017 Shanghai,并在大会期间接受了游戏陀螺的专访,动情地讲述了这14年来从3人在公寓创业,到成 ...

  4. 第十篇 requests模块

    1.安装requests 要安装requests,在终端中输入以下命令即可安装: pip3 install requests 2.发送请求 使用requests发送请求首先需要导入requests模块 ...

  5. winform列标题高度无法改变

    datagridview行为里把ColumnHeadersHeightSizeMode属性设置为EnableResizing 但好像会导致横向滚动条从底部跑到了中间,还不知道这个BUG的原因,将Col ...

  6. django中itsdangerous的用法

    itsdangerous用来解决什么问题,为什么需要用到itsdangerous? 安装命令:pip install itsdangerous 有时候你想向不可信的环境发送一些数据,但如何安全完成这个 ...

  7. servlet 核心技术

    servlet 核心技术 servlet 生命周期 在 servlet 生命周期中,servlet 容器完成加载 servlet 类和实例化一个 servlet 实例,并通过3个方法来完成生命周期中的 ...

  8. centos7用docker安装单节点redis4.0.11

    [root@localhost conf]# docker search redisINDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATEDdocker.io d ...

  9. c语言数据结构学习心得——树

    树 一对多的树型结构,有且只有一个特定的根结点. 结点的度:结点拥有子树的数量{ 度为0:叶子结点/终端结点. 度不为0:非终端结点/分支结点(除去根结点其它称为内部结点).} 树的度:树中所有结点的 ...

  10. 如何在UITableViewController上添加一个固定的视图

    最近在使用UITableViewController,想在上面添加一个固定的视图,不随ScrollView滑动而移动.最后找到2种解决办法,一种是计算TableView的偏移,调整视图的位置,不断更新 ...