下面是“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技术站