SpringBoot快速整合通用Mapper的示例代码

下面是关于“SpringBoot快速整合通用Mapper的示例代码”的完整攻略。

1. 环境准备

在进行示例代码示范前,需要确认以下环境是否具备:

  1. JDK 1.8及以上版本
  2. Maven 3.2.5及以上版本
  3. IntelliJ IDEA或Eclipse等集成开发环境

2. 添加依赖

首先,需要在pom.xml文件中添加如下依赖:

<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.1.5</version>
</dependency>

3. 配置数据源

在配置文件(application.properties或application.yml)中添加数据源相关配置信息:

spring:
  datasource:
    # 数据库连接用户名
    username: root
    # 数据库连接密码
    password: root
    # 数据库驱动
    driver-class-name: com.mysql.cj.jdbc.Driver
    # 数据库url
    url: jdbc:mysql://localhost:3306/demo?serverTimezone=Asia/Shanghai

4. 定义实体类

接下来定义实体类和对应的Mapper接口。这里以用户(User)实体类和对应的Mapper接口(UserMapper)为例:

public class User {
    private Long id;
    private String username;
    private String password;
    // 省略getter和setter方法
}

public interface UserMapper extends Mapper<User> {
}

其中,UserMapper继承了通用Mapper的Mapper接口,这样就可以直接使用通用Mapper提供的方法操作数据库。

5. 编写Service和controller

然后编写UserService和UserController,在UserController中注入UserService,并在UserController中实现增删改查功能。这里只展示UserController的代码:

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/user")
    public String createUser(@RequestBody User user) {
        int result = userService.save(user);
        if (result == 1) {
            return "success";
        }
        return "fail";
    }

    @DeleteMapping("/user/{id}")
    public String deleteUser(@PathVariable Long id) {
        User user = userService.findById(id);
        if (user == null) {
            return "fail";
        }
        int result = userService.delete(user);
        if (result == 1) {
            return "success";
        }
        return "fail";
    }

    @PutMapping("/user")
    public String updateUser(@RequestBody User user) {
        int result = userService.update(user);
        if (result == 1) {
            return "success";
        }
        return "fail";
    }

    @GetMapping("/user/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.findById(id);
    }

    @GetMapping("/users/{pageNum}/{pageSize}")
    public PageInfo<User> getUsersByPage(@PathVariable int pageNum, @PathVariable int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> userList = userService.findAll();
        return new PageInfo<>(userList);
    }
}

6. 运行程序

最后,启动程序,访问http://localhost:8080/users/1/10即可查看用户列表。

以上就是整合通用Mapper的示例代码的完整攻略。

另附注解方式整合通用Mapper的示例说明:

1. 添加依赖

在pom.xml文件中添加如下依赖:

<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper</artifactId>
    <version>4.1.4</version>
</dependency>
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.1.5</version>
</dependency>

2. 配置数据源

与上面的步骤三一致。

3. 定义实体类和Mapper接口

接下来定义实体类和对应的Mapper接口。这里以用户(User)实体类和对应的Mapper接口(UserMapper)为例:

@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String username;
    private String password;
    // 省略getter和setter方法
}

public interface UserMapper extends Mapper<User> {
}

这里的User类使用了JPA的注解,Mapper接口继承了通用Mapper的Mapper接口,也就是说可以直接使用通用Mapper提供的方法操作数据库。

4. 编写Service和controller

然后编写UserService和UserController,在UserController中注入UserService,并在UserController中实现增删改查功能。这里只展示UserController的代码:

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/user")
    public String createUser(@RequestBody User user) {
        int result = userService.save(user);
        if (result == 1) {
            return "success";
        }
        return "fail";
    }

    @DeleteMapping("/user/{id}")
    public String deleteUser(@PathVariable Long id) {
        User user = userService.findById(id);
        if (user == null) {
            return "fail";
        }
        int result = userService.delete(user);
        if (result == 1) {
            return "success";
        }
        return "fail";
    }

    @PutMapping("/user")
    public String updateUser(@RequestBody User user) {
        int result = userService.update(user);
        if (result == 1) {
            return "success";
        }
        return "fail";
    }

    @GetMapping("/user/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.findById(id);
    }

    @GetMapping("/users/{pageNum}/{pageSize}")
    public PageInfo<User> getUsersByPage(@PathVariable int pageNum, @PathVariable int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> userList = userService.findAll();
        return new PageInfo<>(userList);
    }
}

5. 运行程序

最后,启动程序,访问http://localhost:8080/users/1/10即可查看用户列表。

以上就是使用注解方式整合通用Mapper的示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot快速整合通用Mapper的示例代码 - Python技术站

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

相关文章

  • 解决R语言中install_github中无法安装遇到的问题

    解决R语言中install_github中无法安装遇到的问题需要注意以下几个方面: 确认安装了devtools包 检查输入的GitHub用户名和库名是否正确 确认是否已经配置了GITHUB_PAT 下面将针对以上三个方面提供详细的解决方法和示例说明。 确认安装了devtools包 devtools包是一个主要用于开发R包的工具包,可以通过下面的代码块在R中安…

    GitHub 2023年5月16日
    00
  • 浏览器不能正常访问Github的问题解决

    为了解决浏览器无法正常访问Github的问题,以下是一些步骤和示例,以便详细讲解解决方案。 问题描述 当您尝试访问 Github 时,出现了一些无法识别或未知的错误,例如出现404错误或连接超时错误。这可能是由于多种因素引起的,如网络连接问题,防火墙设置等。 解决方案 以下是一些可能会解决Github访问问题的步骤: 1. 清除浏览器缓存和Cookie 有时…

    GitHub 2023年5月16日
    00
  • Go语言编辑器 JetBrains GoLand 2021.1.0激活方法 附激活/汉化补丁

    标题:GoLand 2021.1.0激活方法详细攻略 简介 GoLand是一款由JetBrains开发的Go语言集成开发环境,拥有许多功能和优秀的编辑体验。但是使用购买正版的方式来获取GoLand软件可能对于一些开发者来说比较困难。因此,本文将会详细讲解GoLand 2021.1.0的激活方法,包括激活和汉化补丁的安装。 操作步骤 第一步:下载安装GoLan…

    GitHub 2023年5月16日
    00
  • GitHub入门教程 手把手教你最简单的开源项目托管

    下面就详细讲解“GitHub入门教程 手把手教你最简单的开源项目托管”的完整攻略吧。 什么是GitHub? GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,所以叫GitHub。GitHub在开源世界中是一个独树一帜的存在,托管着很多知名开源项目。 注册GitHub账户 首先,我们需要注册一个GitHub账户。…

    GitHub 2023年5月16日
    00
  • 史上最好用的远程桌面工具(附源码)

    下面是关于“史上最好用的远程桌面工具(附源码)”的完整攻略以及两条示例说明: 史上最好用的远程桌面工具(附源码)完整攻略 简介 本文介绍了一款史上最好用的远程桌面工具,该工具是使用Python语言编写的,并提供了源代码。该工具可以帮助用户远程操作另一台计算机,实现远程控制的功能。 使用方法 1. 下载源代码 首先,你需要从GitHub上下载源代码。在命令行中…

    GitHub 2023年5月16日
    00
  • 利用dep代替go get获取私有库的方法教程

    当我们需要使用私有库时,一般使用go get命令获取,但是这种方法有一个很大的缺点,就是必须知道私有库的git地址才能获取到,因此在团队协作的时候并不是非常方便。使用dep可以解决这个问题,其支持直接下载私有库。 步骤1:安装dep 在终端执行以下命令安装dep: $ go get -u github.com/golang/dep/cmd/dep 确保dep…

    GitHub 2023年5月16日
    00
  • spring-boot集成spring-security的oauth2实现github登录网站的示例

    下面是“spring-boot集成spring-security的oauth2实现github登录网站的示例”的完整攻略。 一、前置条件 本文的示例代码基于Spring Boot和Spring Security,因此你需要先熟悉这些技术。同时为了实现GitHub登录,还需要拥有一个GitHub账户和应用。 二、示例一:GitHub OAuth2 认证 1.创…

    GitHub 2023年5月16日
    00
  • github访问速度慢的问题完美解决

    首先,访问GitHub速度慢的问题主要是因为DNS污染和GFW的限制所造成的。以下是解决这个问题的几个步骤和示例说明: 改hosts文件 通过修改hosts文件可以指定网络请求的目标IP,避免DNS污染的影响。具体步骤如下: 打开C:\Windows\System32\drivers\etc路径下的hosts文件; 在文件末尾追加以下内容: # GitHub…

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