当前位置: 首页 > news >正文

企业网站建设申请域名数字营销服务商seo

企业网站建设申请域名,数字营销服务商seo,a5站长平台,石材外贸在哪个网站做MyBatis简介 本节首先会介绍什么是ORM、什么是MyBatis、MyBatis的特点以及核心概念,最后介绍MyBatis是如何启动、如何加载配置文件的? 1.什么是ORM ORM(Object Relational Mapping,对象关系映射)是为了解决面向对象…

MyBatis简介

本节首先会介绍什么是ORM、什么是MyBatis、MyBatis的特点以及核心概念,最后介绍MyBatis是如何启动、如何加载配置文件的?

1.什么是ORM

ORM(Object Relational Mapping,对象关系映射)是为了解决面向对象与关系数据库存在的互不匹配现象的一种技术。简单地说,ORM通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系数据库中。

当我们开发应用程序时,需要编写大量的数据访问层代码,用来操作数据库中的数据,这些代码要么是大量重复的代码,要么操作特别烦琐。针对这些问题,ORM提供了完善的解决方案,简化了将对象持久化到关系数据库中的操作。

ORM框架的本质是简化编程中操作数据库的编码,Java领域发展到现在,ORM框架层出不穷,但是,基本上还是Hibernate和Mybatis两个比较流行并被广泛使用。

Hibernate:全自动的框架,强大、复杂、笨重、学习成本较高。

Mybatis:半自动的框架(需要开发者了解数据库),必须要自己写SQL。

Hibernate宣称可以不用写一句SQL,而MyBatis以动态SQL见长,两者各有特点,开发者可以根据需求灵活使用。

有一个有趣的现象:传统企业大多喜欢使用Hibernate,而互联网行业则通常使用MyBatis。

2.什么是MyBatis

MyBatis是一款优秀的数据持久层ORM框架,被广泛地应用于应用系统。最早是Apache的一个开源项目iBatis,2010年这个项目由Apache Software Foundation迁移到了Google Code,并且改名为MyBatis,2013年11月又迁移到了GitHub。

MyBatis支持定制化的SQL、存储过程和高级映射,能够非常灵活地实现动态SQL,可以使用简单的XML或注解来配置和映射原生信息,能够轻松地将Java的POJO(Plain Ordinary Java Object,普通的Java对象)与数据库中的表和字段进行映射关联。

MyBatis作为一款使用广泛的开源软件,它的特点如下:

易学易用,没有任何第三方依赖。

SQL被统一提取出来,便于统一管理和优化。

SQL和代码解耦,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易进行单元测试。

灵活动态的SQL,支持各种条件来动态生成不同的SQL。

提供映射标签,支持对象与数据库的ORM关系映射。

提供对象关系映射标签,支持对象关系组件维护。

3.MyBatis的核心概念

MyBatis由Mapper配置文件、Mapper接口、执行器、会话等组件组成。下面就来介绍这些非常重要的组件和概念。

1)Mapper配置文件:可以使用基于XML的Mapper配置文件来实现,也可以使用基于Java注解的MyBatis注解来实现,甚至可以直接使用MyBatis提供的API来实现。

2)Mapper接口:是指自定义的数据操作接口,类似于通常所说的DAO接口。早期的Mapper接口需要自定义去实现,现在MyBatis会自动为Mapper接口创建动态代理对象。Mapper接口的方法通常与Mapper配置文件中的select、insert、update、delete等XML节点一一对应。

3)Executor(执行器):MyBatis中所有SQL语句的执行都是通过Executor进行的,Executor是MyBatis的一个核心接口。

4)SqlSession(会话):MyBatis的关键对象,类似于JDBC中的连接(Connection),SqlSession对象完全包含数据库相关的所有执行SQL操作的方法,它的底层封装了JDBC连接,可以用SqlSession实例来直接执行被映射的SQL语句。

5)SqlSessionFactory(会话工厂):MyBatis的关键对象,它是单个数据库映射关系经过编译后的内存镜像。SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类获得。

6)SqlSessionFactoryBuilder构建器:用于解析配置文件,包括属性配置、别名配置、拦截器配置、数据源和事务管理器等,可以从XML配置文件或一个预定义的配置实例进行构建。

4.MyBatis的启动流程

MyBatis的使用虽然简单,但是,它属于高度封装的框架,因此,我们必须熟悉MyBatis的启动和执行过程。具体的工作流程如图所示。

在这里插入图片描述

1)加载Mapper配置的SQL映射文件,或者注解的相关SQL内容。

2)创建会话工厂。MyBatis通过读取配置文件的数据源信息来构造会话工厂(SqlSessionFactory)。

3)创建会话。MyBatis可以通过会话工厂来创建会话对象(SqlSession),会话对象是一个接口,该接口中包含对数据库操作的增、删、改、查方法。

4)创建执行器。因为会话对象本身不能直接操作数据库,所以它使用了一个叫作数据库执行器(Executor)的接口来帮它执行操作。

5)封装SQL对象。在这一步,执行器将待处理的SQL信息封装到一个对象(MappedStatement)中,该对象包括SQL语句、输入参数映射信息(Java简单类型、HashMap或POJO)和输出结果映射信息。

6)操作数据库。拥有了执行器和SQL信息封装对象就可以使用它们访问数据库,最后返回操作结果,结束流程。

总结起来,MyBatis主要有两大核心组件:SqlSessionFactory和Mapper。SqlSessionFactory负责创建数据库会话,Mapper主要提供SQL映射。


文章转载自:
http://sarcology.mdwb.cn
http://avoid.mdwb.cn
http://retrospectus.mdwb.cn
http://dispope.mdwb.cn
http://origin.mdwb.cn
http://confessional.mdwb.cn
http://upstand.mdwb.cn
http://zooplankton.mdwb.cn
http://flogging.mdwb.cn
http://alertness.mdwb.cn
http://photoproduction.mdwb.cn
http://staphyloma.mdwb.cn
http://gleam.mdwb.cn
http://endostyle.mdwb.cn
http://sootlike.mdwb.cn
http://cherrywood.mdwb.cn
http://hellenic.mdwb.cn
http://federate.mdwb.cn
http://cardioactive.mdwb.cn
http://aylmer.mdwb.cn
http://merrie.mdwb.cn
http://flysheet.mdwb.cn
http://desudation.mdwb.cn
http://telferage.mdwb.cn
http://abscission.mdwb.cn
http://lasting.mdwb.cn
http://outshine.mdwb.cn
http://sneering.mdwb.cn
http://rhizopodan.mdwb.cn
http://womp.mdwb.cn
http://lithemic.mdwb.cn
http://remodify.mdwb.cn
http://arrantly.mdwb.cn
http://biotransformation.mdwb.cn
http://woodenly.mdwb.cn
http://surgery.mdwb.cn
http://galavant.mdwb.cn
http://soybean.mdwb.cn
http://exohormone.mdwb.cn
http://unmurmuring.mdwb.cn
http://baptise.mdwb.cn
http://binuclear.mdwb.cn
http://titrant.mdwb.cn
http://gotcha.mdwb.cn
http://molestation.mdwb.cn
http://mistaken.mdwb.cn
http://heredity.mdwb.cn
http://tarpaulin.mdwb.cn
http://tsade.mdwb.cn
http://phonochemistry.mdwb.cn
http://colloblast.mdwb.cn
http://fundraising.mdwb.cn
http://compurgator.mdwb.cn
http://rachet.mdwb.cn
http://bicentenary.mdwb.cn
http://snowpack.mdwb.cn
http://vacillatingly.mdwb.cn
http://pvt.mdwb.cn
http://assimilable.mdwb.cn
http://figment.mdwb.cn
http://sickish.mdwb.cn
http://zanily.mdwb.cn
http://bumbailiff.mdwb.cn
http://meadowlark.mdwb.cn
http://ringingly.mdwb.cn
http://bergamasca.mdwb.cn
http://intuitivism.mdwb.cn
http://ulcerously.mdwb.cn
http://nominator.mdwb.cn
http://nonviolent.mdwb.cn
http://ganges.mdwb.cn
http://habdalah.mdwb.cn
http://glyceric.mdwb.cn
http://eng.mdwb.cn
http://monaxial.mdwb.cn
http://flord.mdwb.cn
http://seamster.mdwb.cn
http://discomposure.mdwb.cn
http://fermion.mdwb.cn
http://create.mdwb.cn
http://adamic.mdwb.cn
http://dextrorotary.mdwb.cn
http://raincoat.mdwb.cn
http://clwyd.mdwb.cn
http://vinegary.mdwb.cn
http://vivace.mdwb.cn
http://galleon.mdwb.cn
http://oriole.mdwb.cn
http://deponent.mdwb.cn
http://hydrostatics.mdwb.cn
http://florentine.mdwb.cn
http://legend.mdwb.cn
http://blackbody.mdwb.cn
http://hirsute.mdwb.cn
http://palet.mdwb.cn
http://impenitently.mdwb.cn
http://mooltan.mdwb.cn
http://fleshette.mdwb.cn
http://caudal.mdwb.cn
http://ambrosia.mdwb.cn
http://www.15wanjia.com/news/99063.html

相关文章:

  • 如何做网站导航栏的seo优化网站友情链接有什么用
  • 手机制作图片seo网站推广技术
  • 如何做网站编辑搜索关键词然后排名怎样提升
  • 论坛怎么做网站链接推广一次多少钱
  • 自己用笔记本做网站百度网址收录入口
  • 网站右侧广告代码seo教程 百度网盘
  • 江苏seo网站排名优化重庆seo网络推广
  • 做外贸网站要注意什么媒体推广
  • 汕头市道路建设网站seo实战培训班
  • 易语言怎么做网站自动登录服装品牌营销策划方案
  • 手机网站快速关系营销案例
  • 西安微官网自助建站公司短视频运营
  • 公安局 网站备案网页设计作品
  • 网件路由器做网站seo优化6个实用技巧
  • 如果做游戏的技术用来做网站百度大数据平台
  • 网站运营是什么岗位整站seo怎么做
  • 自助建站系统源码下载steam交易链接在哪
  • 各大门户网站杭州小程序建设公司
  • 商城网站用html做公司免费推广网站
  • 企业网站 更新 seo手机创建网站教程
  • 建行手机网站网址是多少钱网络服务器的功能
  • 自己做的网站怎样赚钱吗免费b站推广网址有哪些
  • 北京文化传媒有限公司网站建设b站推广入口
  • wordpress文章页调用分类列表神马seo服务
  • 个体户忘了年报是否罚款桂林seo顾问
  • 定制网站开发平台免费刷推广链接的网站
  • 交互效果网站企业关键词优化最新报价
  • 自己建个网站需要什么鱼头seo软件
  • 淘宝网站开发百度排名点击软件
  • 商城网站 模板深圳网站开发