一、快速起步

新建一个maven项目

导入依赖

<dependencies><dependency><groupId>antlr</groupId><artifactId>antlr</artifactId><version>2.7.7</version></dependency><dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency><dependency><groupId>org.hibernate.common</groupId><artifactId>hibernate-commons-annotations</artifactId><version>4.0.2.Final</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>4.2.4.Final</version></dependency><dependency><groupId>org.hibernate.javax.persistence</groupId><artifactId>hibernate-jpa-2.0-api</artifactId><version>1.0.1.Final</version></dependency><dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.15.0-GA</version></dependency><dependency><groupId>org.jboss.logging</groupId><artifactId>jboss-logging</artifactId><version>3.1.0.GA</version></dependency><dependency><groupId>org.jboss.spec.javax.transaction</groupId><artifactId>jboss-transaction-api_1.1_spec</artifactId><version>1.0.1.Final</version></dependency><!--数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>compile</scope></dependency></dependencies><!-- IDEA无法自动读取java文件下的xml文件,要配置声明编译JAVA目录下的文件 --><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build>

配置文件

dtd约束在官方文件上有

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-- 配置连接数据库的基本信息 --><property name="connection.username">root</property><property name="connection.password">root</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF8</property><!-- 配置Hibernate的基本信息 --><!-- 1.hibernate所使用的数据库方言-》哪种数据库 --><property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property><!-- 2.执行操作时是否再控制台打印SQL --><property name="show_sql">true</property><!-- 3.是否对SQL进行格式化 --><property name="format_sql">true</property><!-- 4.指定自动生成数据表的策略 --><property name="hibernate.hbm2ddl.auto">update</property>  </session-factory></hibernate-configuration>

实体类

public class Person {private Integer personId;private String personName;private Integer personAge;public Person() {}@Overridepublic String toString() {return "Person{" +"personId=" + personId +", personName='" + personName + '\'' +", personAge=" + personAge +'}';}public Person(String personName, Integer personAge) {this.personName = personName;this.personAge = personAge;}public Integer getPersonId() {return personId;}public void setPersonId(Integer personId) {this.personId = personId;}public String getPersonName() {return personName;}public void setPersonName(String personName) {this.personName = personName;}public Integer getPersonAge() {return personAge;}public void setPersonAge(Integer personAge) {this.personAge = personAge;}
}

映射配置

<?xml version="1.0"?>
<!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/hibernate/entity/Person" table="PERSON"><!--name:表对应类的全类名table: 类对应的表名id标签:表的主键name:映射类的属性名type:属性类型全类名column:对应表的字段名generator:主键生成策略property:非主键的其他字段映射name:映射类的属性名type:属性类型全类名column:对应表的字段名--><id name="personId" type="java.lang.Integer"><column name="PersonId" /><!-- 指定主键的生成方式:native:数据库底层生成方式--><generator class="native" /></id><property name="personName" type="java.lang.String"><column name="PersonName" /></property><property name="personAge" type="java.lang.Integer"><column name="PersonAge" /></property></class></hibernate-mapping>

在hibernate核心配置文件中配置指明映射配置文件位置

<!-- 5.指定关联的 hbm.xml 文件 --><mapping resource="com/hibernate/entity/Person.hbm.xml" />

新增测试

public class test {@Testpublic void test(){//1.创建SessionFactory对象SessionFactory sessionFactory = null;//1)创建Configuration对象:对应Hibernate的基本配置信息和对象关系映射信息Configuration configuration = new Configuration().configure();/*** 4.0以前是这样创建的* sessionFactory = configuration.buildSessionFactory();*///2)创建一个ServiceRegistry对象:Hibernate4.x新添加的对象-》Hibernate的任何配置和服务都需要再该对象中注册后才能有效ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();//3)创建一个SessionFactorysessionFactory = configuration.buildSessionFactory(serviceRegistry);//2.创建一个Session对象Session session = sessionFactory.openSession();//3.开启事务Transaction transaction = session.beginTransaction();//4.执行保存操作Person person = new Person("张三", 20);session.save(person);//5.提交事务transaction.commit();//6.关闭Session,关闭SessionFactorysession.close();sessionFactory.close();}}

Hibernate详细教程使用相关推荐

  1. spring入门详细教程(五)

    前言 本篇紧接着spring入门详细教程(三),建议阅读本篇前,先阅读第一篇,第二篇以及第三篇.链接如下: Spring入门详细教程(一) https://www.cnblogs.com/jichi/ ...

  2. Hibernate初学者教程

    Hibernate初学者教程 欢迎来到Hibernate初学者教程.Hibernate是最广泛使用的Java ORM工具之一.大多数应用程序使用关系数据库来存储应用程序信息,在较低级别,我们使用JDB ...

  3. Spring详细教程

    Spring学习总结---- 一.导入Spring必须的jar包 二.简单示例入门注入一个User 1.编写User实体类 package test.Spring.helloworld; import ...

  4. SpringBoot中使用Ehcache的详细教程

    本都缓存能做什么? 数据缓存在jvm中,大幅提升性能 为什么要用本地缓存? 相对于IO操作,速度快,效率高 相对于Redis,Redis是一种优秀的分布式缓存实现,受限于网卡等原因,远水救不了近火 本 ...

  5. 手把手从零开始搭建k8s集群超详细教程

    本教程根据B站课程云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps同步所做笔记教程 k8s集群搭建超详细教程 1. 基本环境搭建 1. 创建私有网络 2. 创建服务 ...

  6. win10系统优化计算机,全面优化win10电脑系统详细教程 | 专业网吧维护

    全面优化win10电脑系统详细教程 以下针对win10系统的电脑全面优化的步骤: 步骤1:禁止开机启动项 1.首先我们先来优化开机速度,拖慢开机速度的首先是开机自启动项,Ctrl + Shift + ...

  7. GPU运行Tensorflow详细教程及错误解决

    GPU运行Tensorflow详细教程及错误解决 前提条件 配置GPU运行 确认是否成功配置 出现的错误及解决方案 前提条件 最重要的一点:CUDA与tensorflow的版本一点要对应,不然用不了! ...

  8. VMware虚拟机安装黑苹果MacOS Mojave系统详细教程

    更多资源请百度搜索:前端资源网 欢迎关注我的博客:www.w3h5.com 最近遇到一个H5页面的 iPhone X 刘海兼容问题.查到一个 XCode 编辑器,可以模拟 iPhone X 环境运行. ...

  9. [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )

    [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 ) billcheung 发表于 2011-10-23 00:07:49 https://www.itsk.com ...

  10. win七系统如何卸载MySQL_win7系统卸载SQL2008R2数据库的详细教程

    用过SQL2008R2数据库的朋友都知道,安装起来容易卸起来麻烦,可是在win7 32位旗舰版系统就不知道怎么卸载SQL2008R2数据库了.其实卸载SQL2008R2数据库的方法也很简单,可直接通过 ...

最新文章

  1. 倒计时1天!CTA核心技术及应用峰会报名通道即将关闭(附参会攻略)
  2. java交易系统_基于SSM框架的JAVA二手交易系统
  3. android4.0浏览器在eclipse中编译的步骤
  4. python操作Excel的几种方式
  5. how to become an expert in excel
  6. DELETE大批量数据的性能优化
  7. java语言编写进制转换_Java 3种方法实现进制转换
  8. 数据采集与清洗基础习题(二)Python爬虫常用模块,头歌参考答案
  9. mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP
  10. c语言c 的区别,C语言与C++的区别
  11. Spring Boot 核心原理与源码解析-大纲
  12. SQL Server 2008中的CTE递归查询
  13. 报 刊 集 锦(转载)
  14. 云计算之k8s系列_第三回
  15. huge形式_huge什么意思怎么读
  16. python pgm 转 bmp
  17. 最全Ansible学习总结
  18. 通信电子:RLC电路及滤波器
  19. 罗德里格斯公式证明(Games101)
  20. 变量之间的相关性:协方差、相关系数

热门文章

  1. java编程思想之多态理解
  2. maven package 打包报错 Failed to execute goal
  3. 微软 .NET 团队宣布 Visual Basic 停止更新,VB 编程即将谢幕
  4. ubb码转换的java类库 ubb2html_ubb代码转换为html
  5. java根据微信小程序code获取用户openId
  6. 面向初学者的 Android 应用开发基础知识
  7. Fiddler2用于手机抓包时的配置方法
  8. 全国计算机二级c语言题库,计算机二级c语言题库及答案
  9. 【软件资源】MATLAB 7.0 安装教程
  10. 军用装备温湿度循环测试,温湿度环境可靠性实验室GJB150A