springboot整合mybatis plus与druid详情

下面是“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日

相关文章

  • spring基于通用Dao的多数据源配置详解

    以下是对“spring基于通用Dao的多数据源配置详解”的完整攻略。 一、背景 在开发Java Web应用时,经常需要使用多个数据源来存储不同的业务数据。而Spring框架提供了多数据源的支持,通过配置多个数据源并使用通用Dao可以让我们更加方便和高效地实现多数据源的管理。 二、实现步骤 1. 导入依赖 在pom.xml文件中添加以下依赖: <!–通…

    Java 2023年6月3日
    00
  • Java的Spring框架的三种连接池的基本用法示例

    我会为你详细讲解Java Spring框架中三种连接池的基本用法示例。在日常开发中,我们常常需要连接数据库。连接池是一种优化数据库连接的技术,它可以大大提高性能和吞吐量。 Spring框架提供了三种连接池:Commons DBCP连接池、C3P0连接池和Tomcat连接池。下面将分别讲解它们的基本用法,包括代码示例。 Commons DBCP连接池 Comm…

    Java 2023年5月19日
    00
  • JAVA实现长连接(含心跳检测Demo)

    下面是“JAVA实现长连接(含心跳检测Demo)”的完整攻略。 1.什么是长连接? 长连接是指在TCP/IP连接中,长时间保持连接状态的一种网络通信方式。通常情况下,在客户端与服务器建立连接之后,即使在没有数据交互的情况下也保持连接状态。 相对于短连接,长连接的优势在于可以减少建立连接的开销,降低网络的负载,提高服务器的负载能力。 2.如何实现长连接? 实现…

    Java 2023年5月19日
    00
  • Java持久层面试题目及答案整理

    Java持久层面试题目及答案整理 1. 什么是持久化? 持久化是指将内存中的数据存储到硬盘等外部介质中,使其具有持久性和长久性,可以随时被读取和使用。在Java中,持久化主要体现在数据的存储和读取,主要通过数据库来实现。 2. 什么是ORM? ORM全称Object Relational Mapping,指对象关系映射。ORM框架是将Java对象和关系数据库…

    Java 2023年6月16日
    00
  • Java(TM) Platform SE binary 打开jar文件的操作

    首先我们需要了解一下什么是Java(TM) Platform SE binary。它是Java平台标准版二进制文件的名称,也就是我们常说的JRE(Java Runtime Environment)。JRE是Java程序运行的环境,如果我们要打开.jar文件,则需要在拥有JRE的环境下进行操作。 下面是通过Java(TM) Platform SE binary…

    Java 2023年5月26日
    00
  • Hibernate连接三种数据库的配置文件

    下面是针对Hibernate连接三种数据库的配置文件的完整攻略,包括MySQL、Oracle和SQL Server。本攻略为你提供了每种数据库的示例代码。 准备工作 在开始配置之前,需要先准备好以下工具和环境: 工具: Hibernate, JDBC 驱动程序 环境: Java, 数据库,数据库服务器 MySQL 配置文件 这是一个连接MySQL数据库的Hi…

    Java 2023年5月20日
    00
  • Java实现配置加载机制

    首先我们先来简单了解一下Java的配置加载机制。Java程序通常需要各种不同的配置信息,例如数据库连接、服务器地址、日志操作等等。这些配置信息的变化可能会影响到程序的运行,为了方便进行调整,我们需要将这些配置信息进行集中管理并且可以灵活地加载和修改。Java实现配置加载机制就是为了解决这些问题的。 Java实现配置加载机制的方法有很多种,比较常见的有以下几种…

    Java 2023年5月20日
    00
  • 目前常用的在线格式化工具

    一、BeJson格式化工具 网址:在线JSON校验格式化工具(Be JSON) 优点:工具多 缺点:广告多,界面设计较旧,拼凑的工具网站,界面风格差异较大不统一。         二、Robots2开发工具箱 网址:Robots2开发工具网站 优点:工具界面风格统一,界面整洁,有日常开发用到的工具和网站导航 缺点:工具不是很全       三、sojson在…

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