关于hibernate的一些简单介绍

最近疫情严重,公司无限延长开工时间,心情也跟着变得沉重。先祝愿武汉早日渡过难关,加油武汉,加油中国!

过年回家,想了想关于自己未来的目标规划,发现自己陷入了死胡同,本来计划一直更新的博客也停止了更新,姐姐劝我博客可以继续写,对自己有好处。所以,在2020/2/10一点,继续更新我的博客。

背景:当前市场上,由于各种项目都比较大,可用性和优化要求都较高,于是持久层框架大家都更偏向于Mybatis而忽略了曾经也风靡一时hibernate。让我感受最深的今天群里一个做了8年开发的前辈,在我们讨论H和M差别时,他说了一句“Hibernate这么垃圾的框架还有人用么?还有你们说的hql是什么鬼?”所以我觉得很多人其实并不了解它,甚至觉得学它毫无用处。确实,能熟练使用mybatis也能完成各种项目,也是市场最流行的,但是个人建议,每个框架存在都有它优点,愿意了解下的就继续看看,当然,本人技术有限,欢迎各位批评和指导。

1:hibernate介绍

1.1,hibernate是什么:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。(此处引用百度百科的说明)

1.2,hibernate能做什么:上一段话已经大致介绍了,hibernate是一个持久层ORM框架,它可以帮我们做数据库的CRUD,当我们做了对象关系的映射,我们就可以通过操作对象的方式来操作数据库。完全不用自己再来写sql语句,这对不喜欢写sql的人来说是一个福音把。

1.3,和mybatis的差别:在我自己理解,M和H都是ORM框架,而差别在于H的映射做的更加完整而且联合JPA使用映射更加简单,也让人更好理解,而M需要自己通过sql语句和xml文件或者annotation使用,sql语句直接操作的还是表和字段,并不是对象。那么为啥更多人倾向于M呢?还是因为H的映射,现在大多项目都较为庞大,而Hibernate的映射让他在大型项目中显得过于笨重,占用的资源过高,拖累了项目的运行速度。

1.4,hibernate该在什么地方使用:在我自己感觉中,H和M在什么地方都可以使用,如果真要纠结,那么在中小型项目,特别是管理系统之类的使用,更让程序员更加感到善意。

2:hibernate具体使用

2.1,hibernate使用需要些什么;以下是我自己去年做一个管理系统时的ssh全部配置文件,可以copy简单修改就能使用。

pom依赖:

<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<slf4j-version>1.7.25</slf4j-version>
		<spring.version>5.0.4.RELEASE</spring.version>
		<hibernate.version>5.2.10.Final</hibernate.version>
		<aspectj.version>1.8.12</aspectj.version>
	</properties>

	<dependencies>
		<!-- Aspectj -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>${
   aspectj.version}</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${
   aspectj.version}</version>
		</dependency>
		<!-- spring整合Aspectj -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		
		<!-- spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<!-- springMVC -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${
   spring.version}</version>
		</dependency>
		<depe
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值