当前位置:家常菜>百科>科技>正文

java mybatis

人气:114 ℃/2024-01-27 16:24:59

java中mybatis是什么,怎么使用呢?不知道的小伙伴来看看小编今天的分享吧!

1、mybatis简介:

MyBatis是一个开源、轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案。MyBatis 内部封装了 JDBC,简化了加载驱动、创建连接、创建 statement 等繁杂的过程,开发者只需要关注 SQL 语句本身。数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中数据模型的统称。例如,文件的存储、数据的读取以及对数据表的增删改查等都是数据持久化操作。

2、mybatis作用:

MyBatis 支持定制化 SQL、存储过程以及高级映射,可以在实体类和 SQL 语句之间建立映射关系,是一种半自动化的 ORM 实现。其封装性低于 Hibernate,但性能优秀、小巧、简单易学、应用广泛。

ORM(Object Relational Mapping,对象关系映射)是一种数据持久化技术,它在对象模型和关系型数据库之间建立起对应关系,并且提供了一种机制,通过 JavaBean 对象去操作数据库表中的数据。

MyBatis 的主要思想是将程序中的大量 SQL 语句剥离出来,使用 XML 文件或注解的方式实现 SQL 的灵活配置,将 SQL 语句与程序代码分离,在不修改程序代码的情况下,直接在配置文件中修改 SQL 语句。

MyBatis 与其它持久性框架最大的不同是,MyBatis 强调使用 SQL,而其它框架(例如 Hibernate)通常使用自定义查询语言,即 HQL(Hibernate查询语言)或 EJB QL(Enterprise JavaBeans查询语言)。

3、优点:

MyBatis是免费且开源的。与JDBC相比,减少了50%以上的代码量。

MyBatis是最简单的持久化框架,小巧并且简单易学。

MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL 写在 XML 中,和程序逻辑代码分离,降低耦合度,便于同一管理和优化,提高了代码的可重用性。

提供 XML 标签,支持编写动态 SQL 语句。

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

支持存储过程。MyBatis 以存储过程的形式封装 SQL,可以将业务逻辑保留在数据库之外,增强应用程序的可移植性、更易于部署和测试。

4、缺点:

编写 SQL 语句工作量较大,对开发人员编写 SQL 语句的功底有一定要求。

SQL 语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

使用场景

MyBatis 专注于 SQL 本身,是一个足够灵活的 DAO 层解决方案。适用于性能要求高,且需求变化较多的项目,如互联网项目。

5、拓展:

Mybatis-Plus(简称 MP)是 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,支持 Mybatis 所有原生的特性,为简化开发、提高效率而生。

  • qq伤感名字

    1、空χιиの琉璃@碎2、泪落成殇3、垂帘落泪4、埋下眼泪5、一厢情愿终成错6、孤城凉梦7、う廽鳦呿臰╋━—8、败了江山输了她9、「絡幙のん&ug...

    签名查看全文>>
  • 君威电子手刹使用步骤

    君威电子手刹的使用步骤是踩住刹车按动开关解锁电子手刹,抬起开关是拉起手刹。电子手刹是通过电子控制的方式来实现汽车停车的一种技术,工作原理与传统的机械式手刹一样,是通过刹车盘和刹...

    问答查看全文>>
  • 1626代码怎么解决,1626代码是什么意思?

    违章代码:1626是什么意思:驾驶公路客运车辆、公共汽车以外的其他营运客车载人超过核定人数未达20%的记分(扣分):6分罚款金额:200-500元其他处罚:无查询说明:1626...

    问答查看全文>>
  • 超车看后视镜技巧

    超车时,如果要从左边超车,要先看一下左边的后视镜,这样可以看看左后方有没有车子或者左后方车子的距离是多远,确认没有问题后,就要打开左转向灯,然后变线超车。超过去之后,行驶一段距...

    问答查看全文>>
  • 汽车保险杠是什么塑料材质?

    汽车保险杠是有以下材质制造的:1、目前国内汽车前后保险杠一般采用增韧(改性)聚丙烯(PP)材料为原材料注射成型-聚丙烯(丙烯)塑料(俗称PP材料),具有高熔点(高达167摄氏度...

    问答查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版