mybatis-plus与mybatis得实现以及区别

目录

一.什么是MyBatis?

1.MyBatis的作用

2.MyBatis的操作步骤

二.什么是MyBatis-plus?

1.MyBatis-plus的作用

2.MyBatis-plus的操作步骤

三.mybatis-plus与mybatis的区别


一.什么是MyBatis?

MyBatis是一个开源的持久层框架,它是用Java编写的,并且可以与多种关系型数据库进行交互。MyBatis的设计目标是避免或尽量减少程序中的冗余代码,同时提供灵活性和高效性。它通过XML或注解的方式,将Java方法与SQL语句进行映射,简化了数据库操作的过程。

MyBatis提供了一种将SQL语句和Java代码解耦的方式,使得开发人员可以更专注于SQL逻辑和业务逻辑的实现,而不必过多地关注数据库连接、资源管理等底层细节。同时,MyBatis还提供了丰富的映射功能,能够将数据库查询结果自动映射为Java对象,简化了数据的处理过程。

总的来说,MyBatis作为一种持久层框架,可以帮助开发人员更方便地进行数据库操作,提高了代码的可维护性和可读性,是Java企业应用开发中常用的框架之一。

1.MyBatis的作用

数据库操作封装:MyBatis提供了简单、直观的方式来执行数据库操作,开发人员可以通过配置文件或注解来定义SQL语句,将Java对象与数据库表之间进行映射。这样可以避免编写大量的JDBC代码和手动设置参数,减少了开发工作量。

灵活的SQL映射:MyBatis支持灵活的SQL映射,开发者可以在SQL语句中使用条件判断、循环等逻辑,以及嵌套查询等高级特性。这样可以满足复杂的业务需求,同时也提高了SQL的可读性和维护性。

对象关系映射(ORM):MyBatis可以将数据库查询结果自动映射为Java对象,大大简化了数据的处理过程。通过配置映射规则,可以实现一对一、一对多、多对一等关系的映射,使得数据操作更加便捷。

缓存机制:MyBatis具有缓存机制,可以在适当的情况下缓存查询结果,提高系统的性能和响应速度。开发者可以根据需要配置缓存策略,包括本地缓存和分布式缓存等。

总的来说,MyBatis作为一种持久层框架,可以帮助开发人员更方便地进行数据库操作,提高代码的可读性和可维护性,同时还提供了灵活的SQL映射和缓存机制,使得系统的性能得到提升,简化了代码以操作的繁琐.

2.MyBatis的操作步骤

1.在idea中创建项目导入相关开发模块

在pox.xml文件中导入mybatis的依赖

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>

2.写MyBits核心配置文件,替换连接信息,简化硬编码问题。

新建一个新建一个mybatis-config.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

3.写sql映射文件

创建一个xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
  <select id="selectBlog" resultType="Blog">
    select * from Blog where id = #{id}
  </select>
</mapper>

二.什么是MyBatis-plus?

MyBatis-Plus是一个为MyBatis提供增强功能的开发包,它在MyBatis的基础上扩展了许多实用的功能,简化了开发流程,提高了开发效率。MyBatis-Plus可以与MyBatis完美集成,并且提供了许多便捷的操作方式和工具,让开发者更加轻松地进行数据库操作。

一些MyBatis-Plus的特性包括:

 简化CRUD操作:MyBatis-Plus提供了丰富的API,可以简化常见的数据库操作,例如插入、更新、删除和查询等,开发者不必再手动编写大量的SQL和Mapper接口。

 自动生成SQL:MyBatis-Plus内置了代码生成器,可以根据数据库表自动生成对应的实体类、Mapper接口以及XML映射文件,大大减少了重复劳动和出错的可能性。

 条件构造器:MyBatis-Plus提供了方便的条件构造器,开发者可以通过链式调用的方式来构建复杂的查询条件,避免了手动拼接SQL语句的麻烦。

 分页插件:MyBatis-Plus还提供了分页插件,可以方便地实现分页查询功能。总的来说,MyBatis-Plus是一个功能强大、易于使用的增强工具,它简化了MyBatis的开发流程,提高了开发效率,是许多Java项目中常用的工具

1.MyBatis-plus的作用

MyBatis-Plus(简称MP)是一个基于MyBatis的增强工具,旨在简化开发过程、提高开发效率。它提供了许多实用的功能和工具,可以帮助开发者更轻松地进行数据库操作。

以下是MyBatis-Plus的一些主要作用:

 简化CRUD操作:MyBatis-Plus提供了一套简洁而强大的API,通过继承通用Mapper或使用Wrapper等方式,可以极大地简化常见的CRUD操作,如插入(Insert)、更新(Update)、删除(Delete)和查询(Select),减少了编写重复SQL语句的工作量。

 自动生成SQL:MyBatis-Plus内置了代码生成器,可以根据数据库表结构自动生成对应的实体类、Mapper接口以及XML映射文件,减少了手动编写这些文件的时间和精力,提高了开发效率。

 条件构造器:MyBatis-Plus提供了方便的条件构造器,可以通过链式调用的方式来构建复杂的查询条件,避免了手动拼接SQL语句的麻烦,使得查询操作更加灵活和可读性更高。

 分页插件:MyBatis-Plus提供了分页插件,可以方便地实现分页查询功能,开发者只需简单配置即可实现数据库的分页查询,避免了手动处理分页逻辑的麻烦。

 乐观锁插件:MyBatis-Plus提供了乐观锁插件,可以实现基于版本号或时间戳的乐观锁机制,用于解决并发更新时的数据一致性问题。总的来说,MyBatis-Plus通过简化开发流程、提供便捷的操作方式和工具,帮助开发者更高效地进行数据库操作,减少了样板代码的编写,提高了开发效率。它是MyBatis生态中的一个重要组成部分,被广泛应用于Java

2.MyBatis-plus的操作步骤

idea中创建项目文件

(1)导入mybatis-plus相关依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>

(2)在全局配置文件中配置数据库相关信息

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456

(3)创建实体类

@Data
@TableName("user")
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
}

(4)创建mapper接口

public interface UserMapper extends BaseMapper<User> {
}

(5)编写业务代码

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}

(6)在测试类中运行测试

三.mybatis-plus与mybatis的区别

MyBatis和MyBatis-Plus是两个相关但不同的项目,它们之间有一些区别。

功能扩展:MyBatis是一个持久层框架,提供了基本的SQL映射和数据库操作功能。而MyBatis-Plus是在MyBatis的基础上进行扩展的增强工具,提供了更多实用的功能和工具,如自动生成SQL、条件构造器、分页插件等,简化了开发流程。

编码规范:MyBatis对于SQL的编写比较自由,开发者需要手动编写和维护SQL语句和映射关系。而MyBatis-Plus倡导使用约定大于配置的方式,提供了通用的CRUD接口和默认的SQL映射规则,遵循了一定的编码规范,减少了手动编写SQL的工作量。

代码生成器:MyBatis-Plus内置了代码生成器,可以根据数据库表结构自动生成实体类、Mapper接口和XML映射文件,减少了手动编写这些文件的时间和精力。而MyBatis并没有提供官方的代码生成器,需要借助第三方工具或手动编写这些文件。

社区活跃度:MyBatis是一个成熟且广泛应用的框架,拥有庞大的用户群体和活跃的社区,有丰富的文档和资源可供参考。MyBatis-Plus相对较新,虽然也有一定的用户群体和社区支持,但相对来说还不如MyBatis成熟和广泛。

需要注意的是,MyBatis和MyBatis-Plus并不冲突,它们可以共同使用。开发者可以在项目中同时引入MyBatis和MyBatis-Plus,利用MyBatis的灵活性编写复杂的SQL语句,同时使用MyBatis-Plus提供的便捷功能简化开发流程。

  • 26
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值