Hibernate框架的概念(是什么,为什么,怎么做)通俗易懂!!!

1.hibernate是什么

hibernate一个优秀的持久层框架,它封装了JDBC连接数据库的代码,可以去操作数据库,用于数据的增删改查。其核心思想就是:ORM, 即对象关系映射。

2.什么叫做持久层(持久化)?

首先谈一下平时在Java程序中存储数据的方法:通过创建相应的对象保存在其对象的某一个属性中。例如:现在想用Java程序去保存用户名和密码这样一个数据,那么先写一个相对应的Java类:

package com.pojo;

public class User {
	private int userid;
	private String userName;
	private String password;
	public int getUserid() {
		return userid;
	}
	public void setUserid(int userid) {
		this.userid = userid;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

 然后在别的类的代码中导入此类所在的包,并创建一个相对应的对象:

User user = new User();

 再去调用此对象的set...()方法,进而把数据存储在对象的相对应的属性中 :

user.setUserName("张三");
user.setPassword("123456");

 但是以上方法是通过Java对象保存数据,而一旦Java虚拟机关闭之后,这个数据就会丢失。所以这种数据不叫做持久化数据。

那么持久化数据就是将这些数据永久的保存在磁盘中,进而达到一个“持久”的目的。通常的方式是使用JDBC去连接相对应的数据库,然后将这些数据添加到数据库中。

3.能使用JDBC做的事情,为什么使用hibernate框架?

1)hibernate便于维护,而且它可以完全实现Java程序员使用面向对象编程的思想去完成对数据的操作,使得程序更加便于维护,减小耦合性,使得程序员有更多的心思花在业务逻辑上,而不是这种重复性对的代码。

2)在hibernate没有出现之前,如果某一个项目要换其所使用的数据库的话,需要重新编写sql语句。因为不同的数据库部分sql语句是有差别的(拿SQLServer和mysql中的分页为例)

3)在没有hibernate之前,使用JDBC操作数据库时,sql语句的编写其实是一个比较麻烦的事情(如果没有体会到这一点的话,可能是因为之前你做的项目规模较小,或者说是因为业务逻辑的原因其所用到的sql语句较为简单),而且很容易出错

将软件开发比作成盖房子的话,不用框架的时候,就好像是从房子的承重墙,钢筋混凝土等等开始都要程序员去设计,这些都是你的任务。如果用了框架之后,就好比这个楼现在变成了毛坯房,大框架都已经做好了,你只需要对它进行装修就可以了。这样子的话,就会让程序员有更多的心思花在业务逻辑上,使得产品上线之后给用户带来更好的用户体验。

4. hibernate怎么做到的这一点?

hibernate的核心思想就是:ORM,即对象关系映射

数据库中数据与Java程序中的对象中存储的数据之间的关系:

一张表 --->对应一个Java类

表中一个字段 -->对应Java类中的一个属性

表中的一条记录 --> 对应Java程序中的一个类对象

利用以上数据库中数据与Java程序中的对象中存储的数据之间的关系就做出了两个框架:hibernate和mybatis

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值