springboot整合mybatis plus与druid详情

yizhihongxing

下面是“springboot整合mybatis plus与druid详情”的完整攻略。

环境依赖

在开始操作之前,需要先确保以下环境已经正确安装:

  • JDK 1.8 及以上版本
  • Maven 3.3 及以上版本
  • IntelliJ IDEA 或其它Java开发工具

步骤1:创建SpringBoot项目

编辑器中创建一个新的Spring Boot项目。

在创建过程中,需要注意选用以下的依赖:

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

    <!-- 添加MyBatis Plus依赖 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.1</version>
    </dependency>

    <!-- 添加Druid依赖 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.2.5</version>
    </dependency>

    <!-- 添加MySQL依赖 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
    </dependency>
</dependencies>

步骤2:配置Druid数据源

在使用Druid作为数据源之前,需要在application.properties(application.yml)文件中进行相应的配置。

spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false

# Druid配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*

步骤3:创建Mapper、Entity

首先,需要创建对应的数据实体类和Mapper接口。

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("user")
public class User {

    private Long id;
    private String name;
    private Integer age;
    private String email;

}
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

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

步骤4:配置MyBatis Plus

在application.properties文件中添加MyBatis Plus相关的配置。

# Mybatis 配置
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.type-aliases-package=com.example.mybatisplustest.entity

# Mybatis Plus 配置
mybatis-plus.global-config.id-type=auto

步骤5:进行CRUD操作

通过在Controller中调用UserService(自己定义的Service)来进行CRUD操作,该Service的具体实现可以调用Mapper中的方法实现。

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.mybatisplustest.entity.User;
import com.example.mybatisplustest.mapper.UserMapper;
import org.springframework.stereotype.Service;

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

    public Page<User> selectUserPage(Page<User> page, String name) {
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.like("name", "%" + name + "%");
        return baseMapper.selectPage(page, wrapper);
    }

}
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mybatisplustest.entity.User;
import com.example.mybatisplustest.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/{id}")
    public User selectOneUser(@PathVariable Long id) {
        return userService.getById(id);
    }

    @GetMapping("/listAll")
    public List<User> selectAllUser() {
        return userService.list();
    }

    @PostMapping("/")
    public boolean createUser(@RequestBody User user) {
        return userService.save(user);
    }

    @PutMapping("/")
    public boolean updateUser(@RequestBody User user) {
        return userService.updateById(user);
    }

    @DeleteMapping("/{id}")
    public boolean deleteUser(@PathVariable Long id) {
        return userService.removeById(id);
    }

    @GetMapping("/page")
    public Page<User> selectUserPage(Page<User> page, String name) {
        return userService.selectUserPage(page, name);
    }

}

示例1:查询用户列表

在浏览器地址栏中输入http://localhost:8080/user/listAll并访问该接口,即可查询所有的用户信息。

示例2:分页查询

在浏览器地址栏中输入http://localhost:8080/user/page?current=1&size=5&name=bruce并访问该接口,即可查询姓名中包含bruce的用户信息,其中current代表页码,size代表每页显示的记录数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot整合mybatis plus与druid详情 - Python技术站

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

相关文章

  • 高并发场景下的 HttpClient 优化,QPS 大大提升!

    HttpClient优化思路: 池化 长连接 httpclient和httpget复用 合理的配置参数(最大并发请求数,各种超时时间,重试次数) 异步 6、多读源码 1.背景 我们有个业务,会调用其他部门提供的一个基于http的服务,日调用量在千万级别。使用了httpclient来完成业务。之前因为qps上不去,就看了一下业务代码,并做了一些优化,记录在这里…

    Java 2023年5月8日
    00
  • Java日常练习题,每天进步一点点(15)

    Java日常练习题,每天进步一点点(15)攻略 1. 概述 该练习题是为Java初学者推出的每日练习题之一,旨在帮助学习者巩固基础知识和加强编程能力。该练习题包含多个小任务,每天完成一部分,不断积累,每天进步一点点。 2. 练习题详解 该练习题目录如下: 1. 编写一个Java程序来寻找两个整数中的最大值 该任务要求我们编写程序寻找两个整数中的最大值,可以使…

    Java 2023年5月19日
    00
  • linux自动重启tomcat脚本分享

    下面就为您讲解如何编写一个自动重启Tomcat的Linux脚本。 1. 编写脚本 可以使用Linux系统的crontab服务定时执行Tomcat的重启。在Linux系统的命令行中输入以下命令,进入vi编辑器: vi /root/restart_tomcat.sh 在编辑器中输入以下代码: #! /bin/bash pid=$(ps -ef | grep to…

    Java 2023年5月20日
    00
  • java版十大排序经典算法:完整代码

    让我来给你讲解一下。 首先,我们来介绍一下这篇文章的主题——“java版十大排序经典算法:完整代码”。这篇文章介绍了Java语言实现的十大经典排序算法,并且提供了完整的代码实现,读者可以根据自己的需要进行学习和使用。 接下来,我们来看看这篇文章的内容结构和要点。 一、文章结构 1. 文章介绍 文章介绍部分主要介绍了本篇文章要讲解的内容,即Java语言实现的十…

    Java 2023年5月19日
    00
  • Java多线程之Park和Unpark原理

    Java多线程中的Park和Unpark是线程同步关键字,常用于线程间等待和通知的操作。在本次攻略中,将深入讲解Park和Unpark的实现原理,并提供两条示例说明。 Park和Unpark的基本概念 Park和Unpark是Java多线程中用于实现线程等待和通知机制的一对关键字。 其中,Park的作用是使线程等待,将其挂起,并将线程的状态设置为WAITIN…

    Java 2023年5月19日
    00
  • Java实现大数运算的实例代码

    下面是详细的Java实现大数运算的攻略: 什么是大数运算? 在Java中,整型(int)类型的最大值是2147483647,当需要运用的数远远超过这个数值的时候会出现数字溢出问题,需要使用大数运算。 大数运算是指运算的数字超出了标准数据类型的范围,因此需要通过特定的算法进行处理,以达到能够正确显示和计算数值的目的。 Java中的大数运算实现方法 Java中的…

    Java 2023年5月30日
    00
  • SpringBoot 中常用注解及各种注解作用

    来详细讲解一下SpringBoot中常用注解及各种注解作用的攻略。 1. @SpringBootApplication 这是一个复合注解,包含了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解。 @Configuration:表示这是一个配置类,可以用来替代xml配置文件。 @EnableA…

    Java 2023年5月15日
    00
  • SpringBoot @Import与@Conditional注解使用详解

    下面是关于“SpringBoot @Import与@Conditional注解使用详解”的完整攻略。 标题 一、@Import注解的使用 @Import注解是Spring Framework中的一个注解,用于引入其他的Component。在Spring Boot中,@Import注解常用于引入自定义的Configuration类。下面是一个示例代码: @Co…

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