springBoot集成mybatis 转换为 mybatis-plus方式

以下是使用springBoot集成mybatis转换为mybatis-plus的完整攻略。

1. 添加mybatis-plus依赖

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

2. 配置mybatis-plus

在application.properties中添加以下配置:

# 指定mapper文件存放路径
mybatis-plus.mapper-locations=classpath:mapper/*.xml
# 指定实体类包路径
mybatis-plus.type-aliases-package=com.example.demo.entity

3. 替换Mapper

将mybatis的Mapper替换为mybatis-plus的Mapper,方式有两种:

3.1 实现BaseMapper

在Mapper接口中,继承mybatis-plus提供的BaseMapper接口。

public interface UserMapper extends BaseMapper<User>{
}

3.2 继承MybatisSqlSessionFactoryBean

在启动类中,继承MybatisSqlSessionFactoryBean类,并重写getObject()方法。

public class MybatisPlusSqlSessionFactoryBean extends MybatisSqlSessionFactoryBean {

    @Override
    protected SqlSessionFactory buildSqlSessionFactory() throws IOException {
        MybatisConfiguration configuration = new MybatisConfiguration();
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setSqlInjector(new DefaultSqlInjector());
        globalConfig.setMetaObjectHandler(new MyMetaObjectHandler());
        configuration.setGlobalConfig(globalConfig);

        return super.buildSqlSessionFactory();
    }
}

示例一

下面是一个简单的示例,展示了如何在mapper和service中使用mybatis-plus。

1. 实体类

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

2. Mapper接口

public interface UserMapper extends BaseMapper<User>{

}

3. Service接口

public interface UserService {
    List<User> selectList();
}

4. Service实现类

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> selectList() {
        return userMapper.selectList(null);
    }
}

示例二

下面是另一个示例,展示了如何使用mybatis-plus进行分页查询。

1. Service接口

public interface UserService {
    List<User> selectPage(Integer pageNum, Integer pageSize);
}

2. Service实现类

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> selectPage(Integer pageNum, Integer pageSize) {
        Page<User> page = new Page<>(pageNum, pageSize);
        return userMapper.selectPage(page, null).getRecords();
    }
}

以上就是使用springBoot集成mybatis转换为mybatis-plus的完整攻略及示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springBoot集成mybatis 转换为 mybatis-plus方式 - Python技术站

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

相关文章

  • Java设计模式之模板方法详解

    Java设计模式之模板方法详解 什么是模板方法 模板方法模式是一种行为设计模式,它在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得可以在不改变算法结构的情况下重定义算法的某些步骤。 模板方法的实现 在Java中实现模板方法,需要按照以下步骤: 创建一个抽象类,定义一个模板方法(如templateMethod())作为算法的骨架,并包含其…

    Java 2023年5月19日
    00
  • 什么是Java编程风格?

    Java编程风格是一种规范,用来规定编写Java代码的格式、命名、注释等等各个方面。遵循Java编程风格可以提高代码的可读性和可维护性,从而保证代码的质量和可靠性。 下面是Java编程风格的使用攻略: 1. 格式要求 1.1缩进 缩进是指代码在块级别内的缩进符号。Java编程风格一般使用四个空格作为缩进,而不是使用制表符或两个空格。例如: if (condi…

    Java 2023年5月11日
    00
  • Java IO文件编码转换实现代码

    Java IO文件编码转换实现代码攻略: 一、文件编码介绍 在Java中IO流常见的字符编码有以下四种: ASCII码:使用一个字节表示一个字符,只包含英文字母、数字和一些常用的符号,共128个字符。 ISO-8859-1:使用一个字节表示一个字符,共包含256个字符,包含了ASCII码字符。 GBK:使用两个字节表示一个字符,包含了大量的汉字,也支持英文字…

    Java 2023年5月19日
    00
  • Java结构型模式之桥接模式详解

    Java结构型模式之桥接模式详解 概述 桥接模式是一种用于软件设计的结构型模式,最早由著名的设计模式书籍《设计模式:可复用面向对象软件的基础》中的Gamma等人提出。 桥接模式的主要目的是将抽象部分和实现部分分离,分别放在不同的类层次结构中,从而实现它们之间的独立变换。通过分离抽象部分和实现部分,可以使它们可以相对独立地变化,从而可以大大降低它们之间的耦合度…

    Java 2023年5月20日
    00
  • Java的Struts框架报错“NoSuchSubscribedEventException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“NoSuchSubscribedEventException”错误。这个错误通常由以下原因之一起: 配置错误:如果配置文件中没有正确配置,则可能会出现此。在这种情况下,需要检查文件以解决此问题。 事件名称错误:如果事件名称不正确,则可能出现此。在这种情况下,需要检查事件名称以解决此问题。 以下是两个实例: 例 …

    Java 2023年5月5日
    00
  • ResHacker怎么替换图标 ResHacker提取并保存avi图文步骤

    以下是关于“ResHacker怎么替换图标 ResHacker提取并保存avi图文步骤”的完整攻略: ResHacker怎么替换图标 如果你想要替换一个程序的图标,可以使用ResHacker工具。 1.首先要打开ResHacker工具,然后在菜单中选择“Open”,并选择要修改的程序。 2.选择要修改的程序后,你需要寻找其中的图标资源。可以通过在左侧的菜单中…

    Java 2023年5月26日
    00
  • 手把手教你写Maven的archetype项目脚手架

    我来为你详细讲解“手把手教你写Maven的archetype项目脚手架”的完整攻略。 什么是Maven的archetype? Maven的archetype是一种脚手架工具,它可以帮助我们快速创建符合规范的Maven项目结构,包含必要的文件和依赖,以满足特定的需求。通常来说,一个archetype文件包含了一个或多个模板(template),这些模板用来生成…

    Java 2023年5月20日
    00
  • 颜值与实用性并存的数据库建模工具Chiner教程

    颜值与实用性并存的数据库建模工具Chiner教程 Chiner是一款同时具有出色颜值与实用性的数据库建模工具,支持多种数据库平台。以下是使用Chiner进行数据库建模的完整攻略。 步骤一:安装Chiner 首先,需要前往Chiner的官方网站下载Chiner安装包,并按照提示进行安装。也可以使用以下命令安装: npm install -g chiner 步骤…

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