Hibernate 学习笔记(1):入门

本文是Hibernate学习笔记的第一部分,主要介绍了Hibernate的核心模块和对JPA的支持,详细讲解了Hibernate的XML与注解配置方式,以及如何使用JPA进行持久化操作。并对比了JPA和Hibernate在灵活性和功能支持上的差异。
摘要由CSDN通过智能技术生成

Hibernate虽说比较好用,但是内容也是太多了,之前看到别人拿他和mybatis相比,确实从结构上来说,mybatis确实比较简单,上手也比较容易,但是没有hibernate自动化程度高,再加上之前接手的项目都是用这个框架写的,所以自然而然。。

一、 认识Hibernate

Hibernate是一个ORM框架,对于ORM应该每个人都很熟了,就不赘述了。之前hibernate是一个包的,但是之后根据功能分出了几个独立的包。
主要的包有如下几个:
  • hibernate-core:是Hibernate的核心模块,
  • hibernate-entitymanager:是hibernate对JPA的支持;
  • hibernate-c3p0:提供了hibernate对c3p0数据库连接池的支持;
  • hibernate-java8:对java8中新出现的数据类型的支持;
可以使用maven来配置依赖库,先导入一个最简单的依赖:
<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-core</artifactId>
	<version>5.0.1.Final</version>
</dependency>
要使用hibernate首先要提供一个配置文件,这个文件中包含连接数据库需要的信息,还有可以配置一些数据源的信息。
基本的配置信息如下:
<?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.password">123</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3305/hibernatedemo</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <mapping resource="com/hibernate/entity/User.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
相信用过JDBC的人都很熟悉了,其中只有一个dialect和mapping是陌生的,dialect是说明对哪个数据库进行支持,mapping是提供要映射到数据库的实体类的配置信息。
其实关于配置mapping有两种方法,一是XML文件的方式,另一种是注解的方式。
有了上面的配置文件,要怎么加载这些配置呢?
使用hibernate自己提供的API,首先在整个应用生命周期的开始创建SessionFactory,有多种方式来完成这一工作,但是通过查看文档,典型的方式使用如下,抛弃了之前使用过的Cnfiguration:
// A SessionFactory is set up once for an application
final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
		.configure()  // configures settings from hibernate.cfg.xml
		.bu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值