首页 > 其他分享 >JDBC和Mybatis的区别

JDBC和Mybatis的区别

时间:2024-08-23 16:27:48浏览次数:7  
标签:语句 JDBC Java 区别 数据库 MyBatis SQL Mybatis

jdbc和mybatis的区别
功能和用途
‌JDBC和MyBatis的主要区别在于它们的功能和用途。‌‌

JDBC(Java Database Connectivity)是Java提供的一套用于连接数据库的接口规范,它允许Java程序与数据库进行交互。JDBC是一个底层的数据库访问技术,开发人员需要手动编写SQL语句并处理结果集的转换。使用JDBC,开发人员需要处理数据库连接的创建和释放、SQL语句的编写以及结果集的解析等底层细节。

JDBC传统的操纵:
使用JDBC连接数据库 ,注册驱动 ,数据库信息等
操作connection 打开statement对象
通过statement对象执行sql
通过resultset获取结果集
关闭资源

MyBatis是一个基于ORM(对象关系映射)的持久层框架,它允许开发人员使用XML或注解来定义SQL映射,从而将数据库记录映射到Java对象。MyBatis提供了更简洁、更易于维护的方式来访问数据库,封装了很多常见的数据库操作,使开发人员不必处理底层的数据库连接、事务和异常处理等细节。

JDBC和MyBatis的区别‌:

1. 功能定位‌:
JDBC是一个底层的数据库访问技术,主要用于连接数据库和处理SQL语句。
MyBatis是一个高级的ORM框架,主要用于将数据库记录映射到Java对象,简化了数据库访问的复杂性。

2. 使用方式‌:
使用JDBC,开发人员需要手动编写SQL语句,并处理结果集的转换。
使用MyBatis,开发人员可以通过XML或注解定义SQL映射,MyBatis会自动将数据库记录映射到Java对象,简化了开发过程。

3. 性能‌:
JDBC的性能受到SQL语句的性能和数据库连接的开销等因素的影响。
MyBatis通过内置的缓存机制和优化技术,可以提高数据库访问的性能。

*** ‌4. 维护性‌:***
使用JDBC,SQL语句直接写在Java代码中,修改SQL需要修改Java代码,违反了开闭原则,代码不易维护。
使用MyBatis,SQL语句写在XML或注解中,与Java代码分离,提高了代码的可维护性。

‌5. 总结JDBC和MyBatis的优缺点‌:
‌JDBC的优点‌:提供底层的数据库访问能力,适用于需要高度自定义SQL语句的场景。
‌JDBC的缺点‌:需要开发人员处理底层的数据库连接和SQL编写,代码复杂且不易维护。
‌MyBatis的优点‌:提供了一个高级的ORM框架,简化了数据库访问过程,提高了开发效率。
‌MyBatis的缺点‌:可能不适合需要高度自定义SQL语句的场景,因为SQL语句被封装在映射文件中。

标签:语句,JDBC,Java,区别,数据库,MyBatis,SQL,Mybatis
From: https://www.cnblogs.com/Anyating-bk/p/18376336

相关文章

  • 一文彻底了解ES6中的var、let、const基本用法以及暂时性死区和变量提升的区别
             ECMAScript变量是松散类型的,意思是变量可以用于保存任何类型的数据。每个变量只不过是一个用于保存任意值的命名占位符。有三个关键字可以声明变量:var、let、const。其中var在ECMAScript的所有版本中都可以使用,而 const和let只能在ECMAScript6及更......
  • MybatisPlus Caused by: org.apache.ibatis.builder.BuilderException: Error evalua
    报错信息:org.mybatis.spring.MyBatisSystemException:nullatorg.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97)atorg.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessi......
  • MyBatis 源码解读:专栏导读与学习路线
    前言MyBatis是Java开发中广泛使用的持久层框架,其简洁的配置和强大的功能使得它在开发人员中备受欢迎。然而,MyBatis的背后隐藏着许多设计巧妙的架构和复杂的实现逻辑。通过源码解读,我们可以更深入地理解MyBatis的设计思想和工作原理,从而更好地应用它。本专栏将以源码......
  • springboot[4]_配置mybatis
    在springboot中使用mybatis1.建表在test库中,建立一张animal表,并存入三条数据。CREATETABLE`test`.`animal`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(30)CHARACTERSETlatin1COLLATElatin1_swedish_ciNULLDEFAULTNULL,PRIMARYKEY(`id`)......
  • 浅谈Java MyBatis
    一、MyBatis的基本介绍  MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,由谷歌托管,并且改名为MyBatis。2013年11月迁移到Github。    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。......
  • #define,const,constexpr的区别与应用
    目录1. #define2. constint3.常量表达式4. constexpr总结1. #define作用:#define 是一个预处理指令,用于在编译前进行文本替换。语法:#defineNAMEVALUE特点:无类型:#define 只是简单的文本替换,没有类型信息。作用域:#define 定义的常量在整个文件中有效,直到......
  • SparkContext与SparkSession区别
    文章目录pyspark初始化SparkContextSparkSessionSparkConfspark-submitpyspark初始化SparkContextSpark中的主要接口,代表与Spark集群的连接。在早期版本的Spark中,需要通过SparkContext对象来初始化Spark应用程序。在Spark2.0之后,推荐使用SparkSession来替代。创......
  • localStorage、sessionStorage、Cookie的区别以及特点
    文章目录一、localStorage、sessionStorage、Cookie是什么?二、各自特点以及之间的区别1.`window.localStorage`2.`sessionStorage`3.`Cookie`三、写一个html页面以用来测试这三者不同的区别四、开始测试测试`localStorage`:测试`sessionStorage`:测试`Cookie`:总......
  • JDBC编程
    JDBC简介:JDBC(JavaDatabaseConnectivity),即Java数据库连接。它是一种可以执行SQL语句的JavaAPI。通过JDBCAPI可连接到数据库,并使用结构化查询语句实现对数据库的查询、更新等操作。使用JDBC开发数据库应用可以跨平台运行,并且可以跨数据库。通过JDBCAPI,不必为访问Sybase、D......
  • MybatisPlus
    MybatisPlus 一、介绍MybatisPlus是一个Mybatis的增强工具,为简化开发、提升效率而生。功能:自动生成单表的CRUD功能提供丰富的条件拼接方式全自动ORM类型持久层框架 二、简单使用导入mybatis-plus的启动器<dependencies>  <dependency>  ......