mybatis-plus与mybatis共存的实现

要实现MyBatis-Plus与MyBatis的共存,需要注意一些配置和使用方式方面的细节。下面是实现步骤的详细攻略:

  1. 引入MyBatis-Plus和MyBatis的依赖包。在pom.xml中添加以下依赖:

```xml


com.baomidou
mybatis-plus-boot-starter
最新版本


org.mybatis.spring.boot
mybatis-spring-boot-starter
最新版本

```

  1. 配置MyBatis-Plus的相关参数。在application.yml或application.properties中添加以下配置:

yaml
mybatis-plus:
mapper-locations: classpath:mapper/*.xml # mapper文件路径
typeAliasesPackage: 包路径 # 实体类路径

Mapper文件夹下需要分别存放MyBatis和MyBatis-Plus相应的Mapper文件,例如:

mapper
├── mybatis
| └── UserMapper.xml
└── plus
└── UserPlusMapper.xml

  1. 在代码中使用MyBatis和MyBatis-Plus。例如,在同一个Service类中定义两个Mapper变量并注入:

```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

@Service
@Transactional
public class UserService extends ServiceImpl {

   @Autowired
   private UserMapper userMapper;

   @Autowired
   private UserPlusMapper userPlusMapper;

   // MyBatis的调用方式
   public User queryUserById(Long id) {
       return userMapper.selectByPrimaryKey(id);
   }

   // MyBatis-Plus的调用方式
   public User queryUserByName(String name) {
       return this.getOne(new QueryWrapper<User>().eq("name", name));
   }

}
```

在上面的例子中,UserMapper和UserPlusMapper分别对应MyBatis和MyBatis-Plus的Mapper文件,可以根据需要调用对应的方法。

另外,可以在MyBatis-Plus的Mapper文件中使用MyBatis的标签和语法,例如:

```xml

   <select id="queryUserById" resultType="com.example.entity.User">
       SELECT * FROM user WHERE id = #{id}
   </select>

```

在这个例子中,使用了MyBatis的语法来查询数据,同时在方法中调用MyBatis-Plus的getOne方法来获取该记录。

以上就是实现MyBatis-Plus与MyBatis共存的完整攻略,下面给出另一个示例来帮助更好地理解:

  1. 首先在pom.xml中引入MyBatis-Plus和MyBatis的依赖包。依赖与之前相同,这里略去。

  2. 在application.yml或application.properties中添加以下MyBatis-Plus的配置:

yaml
mybatis-plus:
mapper-locations: classpath:mapper/*.xml # mapper文件路径
typeAliasesPackage: 包路径 # 实体类路径

  1. 在代码中定义两个Mapper变量,一个使用MyBatis,一个使用MyBatis-Plus,分别实现对同一个实体类的CRUD操作:

```java
import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

@Service
@Transactional
public class UserService extends ServiceImpl {

   @Autowired
   private UserMapper userMapper;

   @Autowired
   private UserMyBatisPlusMapper userMyBatisPlusMapper;

   // MyBatis的调用方式
   public User queryUserByIdMyBatis(Long id) {
       return userMapper.selectByPrimaryKey(id);
   }

   // MyBatis-Plus的调用方式
   public User queryUserByIdMyBatisPlus(Long id) {
       return userMyBatisPlusMapper.selectById(id);
   }

   // MyBatis的调用方式
   public List<User> queryAllMyBatis() {
       return userMapper.selectAll();
   }

   // MyBatis-Plus的调用方式
   public List<User> queryAllMyBatisPlus() {
       return this.list();
   }

   // MyBatis的调用方式
   public int createUserMyBatis(User user) {
       return userMapper.insert(user);
   }

   // MyBatis-Plus的调用方式
   public boolean createUserMyBatisPlus(User user) {
       return this.save(user);
   }

   // MyBatis的调用方式
   public int updateUserMyBatis(User user) {
       return userMapper.updateByPrimaryKey(user);
   }

   // MyBatis-Plus的调用方式
   public boolean updateUserMyBatisPlus(User user) {
       return this.updateById(user);
   }

   // MyBatis的调用方式
   public int deleteUserMyBatis(Long id) {
       return userMapper.deleteByPrimaryKey(id);
   }

   // MyBatis-Plus的调用方式
   public boolean deleteUserMyBatisPlus(Long id) {
       return this.removeById(id);
   }

}
```

在上面的例子中,UserMapper对应MyBatis的Mapper文件,UserMyBatisPlusMapper对应MyBatis-Plus的Mapper文件,同样的实体类User可以被这两个Mapper文件所操作。

  1. 在MyBatis-Plus的Mapper文件中,可以使用MyBatis的标签和语法来进行查询和修改,例如:

```xml

   <select id="queryUserByNameMyBatis" resultType="com.example.entity.User">
       SELECT * FROM user WHERE name = #{name}
   </select>

   <update id="updateUserMyBatis" parameterType="com.example.entity.User">
       UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
   </update>

```

在这个例子中,使用了MyBatis的语法来查询和修改数据,在方法中调用MyBatis-Plus的方法来实现这些操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis-plus与mybatis共存的实现 - Python技术站

(1)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Struts2学习笔记(5)-参数传递方法

    下面给出Struts2学习笔记(5)-参数传递方法的完整攻略。 1. 参数传递方法 Struts2框架提供了多种参数传递方法,包括: 基于动态属性的参数传递方法 基于XLST的参数传递方法 基于注解的参数传递方法 基于拦截器的参数传递方法 1.1 基于动态属性的参数传递方法 在Struts2中,可以通过设置动态属性来进行参数传递。需要为Action类的变量提…

    Java 2023年5月20日
    00
  • JAVA堆排序算法的讲解

    JAVA堆排序算法的讲解 算法简介 堆排序(Heap Sort)是一种选择排序,它的主要思想是将待排序序列构建成一个大顶堆或小顶堆,然后将堆顶元素与最后一个元素交换位置,再对剩余 n – 1 个元素进行同样的操作,依次类推,直到整个序列有序。 堆排序的时间复杂度为 O(nlogn),是一种比较高效的排序算法。 算法步骤 对待排序的序列进行堆的构建,构建出一个…

    Java 2023年5月19日
    00
  • 教你如何用Eclipse创建一个Maven项目

    我将为你详细讲解“教你如何用Eclipse创建一个Maven项目”的完整攻略,过程中将涵盖以下内容: 安装Eclipse和Maven 创建Maven项目 添加依赖 编译运行 以下是具体步骤: 1. 安装Eclipse和Maven 首先,你需要安装Eclipse和Maven。你可以从官方网站下载Eclipse,也可以通过Eclipse Marketplace搜…

    Java 2023年5月19日
    00
  • Java8 Stream 流常用方法合集

    Java8 Stream 流常用方法合集 Java 8 引入了一种新的抽象数据类型 Stream,它让数据的操作变得更加简单高效。Stream 可以是一组数据的集合、数组等等,它支持多方面的操作,比如过滤、映射、筛选、分组、去重、排序等等。下面将介绍 Java8 Stream 常用的方法。 创建流 从集合创建流:可以将一个集合转换为流,并对流中的元素进行操作…

    Java 2023年5月26日
    00
  • Spring Boot深入分析讲解日期时间处理

    Spring Boot深入分析讲解日期时间处理 导言 在Spring Boot应用中,常常需要处理日期时间。本文将介绍Java针对日期时间的处理方式,并重点介绍了Spring Boot提供的日期时间处理方式。 Java日期时间处理 Java提供了两套日期时间处理方式: java.util.Date和java.util.Calendar java.time提供…

    Java 2023年5月20日
    00
  • MyBatis-Plus 条件查询器的实现

    “MyBatis-Plus 条件查询器的实现”是一个非常重要的话题,它涉及到MyBatis-Plus框架中的核心功能,可以让开发人员更快速地构建和查询数据库。下面我们将详细讲解如何实现MyBatis-Plus的条件查询器。 1. 安装MyBatis-Plus 要使用MyBatis-Plus,首先需要安装它。可以通过Maven或Gradle的依赖来安装它。Ma…

    Java 2023年5月20日
    00
  • spring mvc路径匹配原则详解

    Spring MVC 路径匹配原则详解 Spring MVC 是一种基于 Servlet 的 MVC 框架,用于创建 Java Web 应用程序。 在 Spring MVC 中,请求的 URL 将被映射到具体的控制器类和方法,这种映射是通过使用 URL Path Pattern(路径模式)实现的。路径模式指定了请求路径的规则,这些规则用于将请求映射到具体的处…

    Java 2023年5月16日
    00
  • IDEA+Maven创建Spring项目的实现步骤

    创建Maven项目 使用IDEA创建Maven项目,步骤如下: 点击IDEA的File菜单,选择New,然后选择Project; 在弹出的New Project窗口中,选择Maven; 在下一步中,我们需要输入项目的信息,包括 GroupId、ArtifactId、Version、Project name,这些信息都可以任意填写; 最后,点击Finish按钮…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部