学习持久层框架的开胃菜

前言:首先持久层框架是常用的。自己觉得熟悉又陌生。想通过自己的话来描述一下持久层框架。我会在这篇文章中分析出持久层框架相同的理念,和不同的实现。希望能帮到你。

 从最开始学习的JDBC访问数据库,我们自己建立连接,自己去写sql语句然后执行,慢慢的没人这样写了,太麻烦了。

 然后有人提出这样的构想,能不能用访问对象的形式来访问数据库,这就出现了框架,框架封装好sql语句,我们通过配置的形式,来使用框架,达到以操作对象的形式来操作数据库的目的。

ORM

 这个理念就是ORM(对象关系映射),通俗来讲,就是通过实体类和数据库里边的表建立映射关系。我们在使用持久层框架以后,只需要我们写成某种格式,就可以达到我们的目的了。既然想要通过操作对象的形式来操作数据,那对象就是实体类喽,实体类里边的字段名和数据库里边按说应该是一样的,这样才叫一一映射。框架所在,我们可以写成比一样的名字,但是通过配置或者注解的形式,让两个本是一个意思却有不同名字的字段认识。

  持久层框架 我学过的是hibernate,mybatis,还有jpa。其实他们都是围绕这这个点来进行使用的。所以学起来是大同小异的。既然提到了具体的框架,就分别说说把,不说出来,我自己都觉得自己不熟悉这个框架。我们在刚学框架的时候,看到要学的内容,都觉得头要大了,总感觉要学的东西很多,并且在使用的时候,稍微不注意就会出错。其实换一种思维,我们应该将问题简单化,殊途同归。就像上边提到了所谓持久层就是要操作数据库的,不管怎么样,不管是什么持久层框架都是要操作数据库的,不然它也叫不成持久层框架。hibernate是全自动化的持久层框架,通俗来讲就是sql语句你都不用写了,框架好人做到底,都帮你写了。受人追捧,就是它帮人省了力气。本来要写sql去操作数据库,现在不用了。但是随着业务场景的变化,sql是需要优化的,我们又想要自己写sql了,因为我们自己写可以优化sql,达到更高效的目的。不理解sql优化意思的看我这篇文章

什么是sql优化,为什么要sql优化),所以因为hibernate被封装的太死,所以原来受人追捧的反而不受欢迎了,意思就是,你做的太多了。就像是大臣帮皇上做了所有的决断,有一天,皇上想:妈的,皇上你来做吧,什么你都决断,我还有没有自由了。于是mybits受欢迎了,他就是一个聪明的臣子,有的事他能做,但是他不做,给皇上做,让皇上感受到自由,让皇上有发挥的空间。所以今天受欢迎的是这个半自动化的持久层框架Mybatis,它把你想要优化的sql语句给你自己写。

殊途同归,归在哪里?

  orm知识一个理念,首先想对数据库操作仍然绕不开的是连接数据库,绕不开的仍然是sql语句。就算你是以对象的形式操作数据库的,但是最后框架还是操作了sql。至于框架怎么操作的没有能力的,感兴趣的看源码。只想先学使用的,先学会用吧。持久层框架,就是别人封装好,满足你的要求,以对象的形式操作数据库。

  想想学习和使用框架我们都干了什么?

  框架是别人写好的,你想用,就引入别人写好的jar,这叫搭环境。把别人(jar包)请过来,你才能让别人帮你做事。

  你想形成ORM,那就要有实体类,和数据库表。然后你再用配置的形式,或者注解的形式来让他们连个认识。hibernate通常是通过配置文件的形式形成映射关系的,支持注解。mybatis一般是注解。现在注解更受欢迎一点,因为注解方便一点。

  上边提到过了,绕不开的是数据库连接,所以即使是用框架,你要告诉框架,你连的数据库在哪里。这叫做配置数据源。不管hibernate还是mybatis都要配置。你就算是神仙,想帮我做事,我不告诉你让你做什么,你也做不出来,就是这个道理。 至于具体怎么配置,这就是使用框架的细节了。

   操作数据库我们有时候操作的不止一张表,这叫做是关联查询。我们只需要学习框架分别是怎么实现的,怎么用就好了。

   剩下的事就是对数据库的增删改查了,我们只需要学习框架不同的调用方法就可以了。

  别的真没了。 

 hibernate 和 Mybatis 不一样的地方

其实我们在学习框架的时候,就是先学一个框架,以后学习同类的框架的时候,找找不同,找找相同。形同的内容我上边大概都写了,可能写的不全。剩下的就是不一样的地方。上边也提到了,Mybatis自己写sql语句。具体怎么使用,就是我们需要在框架中学习的了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值