Spring Boot整合MyBatis-Flex全过程

 更新时间:2024年08月05日 09:12:11   作者:何中应  
这篇文章主要介绍了Spring Boot整合MyBatis-Flex全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

说明:MyBatis-Flex(官网地址:https://mybatis-flex.com/),是一款数据访问层框架,可实现项目中对数据库的访问,类比MyBatis-Plus。

本文介绍,在Spring Boot项目整合MyBatis-Flex。

创建项目

首先,创建一个Spring boot项目,pom.xml文件内容如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.12</version>
        <relativePath/>
    </parent>

    <groupId>com.hezy</groupId>
    <artifactId>mybatis-flex-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>Archetype - mybatis-flex-demo</name>
    <url>http://maven.apache.org</url>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.8</version>
        </dependency>

        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.7.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
    </dependencies>

</project>

创建一个实体类对象,User,如下:

import lombok.Data;

import java.io.Serializable;

@Data
public class User implements Serializable {

    private static final long serialVersionUID = 1L;
    
    private Long id;
    
    private String username;

    private String password;
}

创建一个接口,如下:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
}

application.yml,配置文件如下:

server:
  port: 8080

spring:
  datasource:
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/demo
    username: postgres
    password: 123456

启动项目,测试,没得问题

整合MyBatis-Flex

引入下面这两个依赖;

	<dependency>
	    <groupId>com.mybatis-flex</groupId>
	    <artifactId>mybatis-flex-spring-boot-starter</artifactId>
	    <version>1.9.3</version>
	</dependency>
	<dependency>
	    <groupId>com.mybatis-flex</groupId>
	    <artifactId>mybatis-flex-processor</artifactId>
	    <version>1.9.3</version>
	    <scope>provided</scope>
	</dependency>

在实体类上关联表,包括实体类对应的表名,以及对应的字段,像主键、别名(如果有)等;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.Data;

import java.io.Serializable;

@Data
@Table("tb_user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private Long id;

    private String username;

    private String password;
}

创建数据访问层对象,可继承MyBatis-Flex提供的接口,并指定泛型为当前操作的实体类对象

import com.hezy.pojo.User;
import com.mybatisflex.core.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

创建一个接口,根据ID查询User,可直接调用MyBatis-Flex提供的相关API,如下:

    @Autowired
    private UserMapper userMapper;
    
    @GetMapping("/getUser/{id}")
    public User getUserById(@PathVariable("id") Integer id) {
        return userMapper.selectOneById(id);
    }

一般来说,还需要Services过一层,校验参数等,这里是是一个Demo。数据库内容如下:

启动项目,调用接口,如下,查询完成

总结

本文介绍了如何在Spring Boot项目中整合MyBatis-Flex,当然,MyBatis-Flex还提供了许多数据访问的API,以及扩展功能,如多数据源访问、数据库配置加密、多租户、读写分离等等,可在官网上学习。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Struts 2 实现Action的几种方式

    Struts 2 实现Action的几种方式

    本篇文章主要介绍了Struts 2 实现Action的几种方式,Struts 2框架下实现Action类有三种方式,有兴趣的可以了解一下
    2017-10-10
  • idea搭建ssh框架的超详细教程

    idea搭建ssh框架的超详细教程

    这篇文章主要介绍了idea搭建ssh框架的超详细教程,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • maven多模块项目依赖管理与依赖继承详解

    maven多模块项目依赖管理与依赖继承详解

    这篇文章主要介绍了maven多模块项目依赖管理与依赖继承详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 一文详解Spring security框架的使用

    一文详解Spring security框架的使用

    Spring Security是一个基于Spring框架的安全认证和授权框架,它提供了一套全面的安全解决方案,可以在Web应用、移动应用和Web服务等不同场景下使用。本文就来详细聊聊它的使用吧
    2023-03-03
  • 解决Java原生压缩组件不支持中文文件名乱码的问题

    解决Java原生压缩组件不支持中文文件名乱码的问题

    本篇文章主要介绍了解决Java原生压缩组件不支持中文文件名乱码的问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • java正则表达式匹配网页所有网址和链接文字的示例

    java正则表达式匹配网页所有网址和链接文字的示例

    这篇文章主要介绍了java正则表达式匹配网页所有网址和链接文字java正则表达式匹配,需要的朋友可以参考下
    2014-03-03
  • Reactor定制一个生产的WebClient实现示例

    Reactor定制一个生产的WebClient实现示例

    这篇文章主要为大家介绍了Reactor定制一个生产的WebClient实现示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java中MessageFormat的使用详解

    Java中MessageFormat的使用详解

    本文主要介绍了Java中MessageFormat的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • SpringBoot配置使Mybatis打印SQL执行时的实际参数值操作

    SpringBoot配置使Mybatis打印SQL执行时的实际参数值操作

    这篇文章主要介绍了SpringBoot配置使Mybatis打印SQL执行时的实际参数值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • maven模块化开发部署实现方案

    maven模块化开发部署实现方案

    有些用户有定制化需求,需要添加新的模块功能,因此需要平台主体功能迭代的同时,非主体功能和定制化功能插件化,本文给大家介绍maven模块化开发部署实现方案,感兴趣的朋友一起看看吧
    2024-01-01

最新评论