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日

相关文章

  • 简析Java中的util.concurrent.Future接口

    简析Java中的util.concurrent.Future接口 java.util.concurrent.Future是Java中实现异步操作和并发编程的一个核心接口,它的主要作用是提供一个机制,允许异步任务返回一个结果和处理异常,这个结果将在未来的某个时间点通过Future对象来获取。即,当我们发起一个异步请求后,系统会立即返回一个Future对象,通过…

    Java 2023年5月25日
    00
  • java简单实现自定义日历

    下面是详细讲解“Java简单实现自定义日历”的完整攻略。 1. 确定需求和基本思路 首先,我们需要明确需求和基本思路。 需求:实现一个自定义的日历,可以输出指定年份和月份的所有日期以及星期。 基本思路:通过 Java 的时间日期 API,根据输入的年份和月份计算出该月份的天数和第一天是星期几,然后将日期和星期打印出来。 2. 编写代码实现 接下来,我们开始编…

    Java 2023年5月20日
    00
  • SpringBoot与Spring之间的对比

    关于“SpringBoot与Spring之间的对比”的话题进行完整攻略,可以从以下几个方面进行讲解。 1. Spring和SpringBoot的定义和特点 首先,我们需要了解Spring和SpringBoot的定义和特点。 Spring是一个经典的开源Java框架,它主要应用于企业级应用的开发,提供了一系列的解决方案以适应复杂的应用需求,如IoC容器、AOP…

    Java 2023年5月15日
    00
  • Mybatis之动态sql标签的使用

    那么首先我们先讲一下什么是Mybatis的动态sql标签。动态sql标签可以根据传递的参数生成不同的SQL查询语句,提供更加灵活的查询方式。相对于其他ORM框架,Mybatis的动态sql标签有独特的实现方式。那么接下来我们来看看如何使用Mybatis的动态sql标签。 判断语句标签<if> 我们可以使用<if>标签来进行条件判断。例…

    Java 2023年5月20日
    00
  • 什么是弱引用?

    弱引用(Weak Reference)是一种不会增加对象的引用计数的引用方式。当一个对象被设置为弱引用时,如果该对象没有被强引用指向,则垃圾回收器会回收它的内存。由于弱引用不会阻止被引用对象的垃圾回收,因此经常用于避免内存泄漏。 在Python中,可以使用标准库中weakref模块来创建弱引用。比如下面的代码就创建了一个弱引用: import weakref…

    Java 2023年5月10日
    00
  • java编程实现屏幕截图(截屏)代码总结

    Java编程实现屏幕截图(截屏)代码总结 在Java中,我们可以利用Robot类来进行屏幕截图(截屏),该类提供的createScreenCapture方法可以将屏幕上的指定区域截取并保存为图像文件。以下是实现屏幕截图的步骤总结: 导入Robot和AWT相关的包: java import java.awt.Rectangle; import java.awt…

    Java 2023年5月19日
    00
  • spring boot如何添加拦截器

    首先,为了添加拦截器,我们需要创建一个实现了 HandlerInterceptor 接口的拦截器类,并在 Spring Boot 中添加拦截器配置。以下是具体的步骤: 创建拦截器类 创建一个拦截器类,例如 CustomInterceptor,实现HandlerInterceptor 接口。我们可以在拦截器的生命周期中重写不同的方法以执行相关操作,比如在请求处…

    Java 2023年5月31日
    00
  • Spring MVC 与 CORS跨域的详细介绍

    Spring MVC 与 CORS跨域的详细介绍 在Web开发中,跨域请求是一种常见的需求。CORS(Cross-Origin Resource Sharing)是一种机制,它允许Web应用程序从不同的域访问其资源。本文将详细介绍Spring MVC与CORS跨域的相关知识,并提供两个示例说明。 CORS跨域的实现原理 CORS跨域的实现原理是通过在HTTP…

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