Mybatis plus结合springboot使用
作者:wx661607c93692e
本文主要介绍了MyBatisPlus使用SpringBoot数据库操作,从添加依赖到测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
使用 MyBatis Plus 结合 Spring Boot 可以极大地简化数据库操作。MyBatis Plus 是 MyBatis 的增强工具,旨在简化开发、提高效率。
1. 添加依赖
首先,在 pom.xml 文件中添加 MyBatis Plus 和 Spring Boot 的相关依赖。
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Starter Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- MyBatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<!-- Lombok for getter/setter/toString/etc. -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
<!-- Spring Boot Starter Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>2. 配置数据库连接
在 application.properties 或 application.yml 文件中配置数据库连接信息。
application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis Plus 配置
mybatis-plus.mapper-locations=classpath*:mapper/*.xml
mybatis-plus.type-aliases-package=com.yourpackage.entity
application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
username: your_username
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
# MyBatis Plus 配置
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
type-aliases-package: com.yourpackage.entity3. 创建实体类
使用 Lombok 注解来减少样板代码。
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("user")
public class User {
@TableId
private Long id;
private String name;
private Integer age;
private String email;
}4. 创建 Mapper 接口
继承 BaseMapper 接口,MyBatis Plus 提供了许多便捷的方法。
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
}5. 创建 Service 层
创建服务层来处理业务逻辑。
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class UserService extends ServiceImpl<UserMapper, User> {
// 可以添加自定义的业务方法
}6. 创建 Controller 层
创建控制器层来处理 HTTP 请求。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public List<User> getAllUsers() {
return userService.list();
}
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.getById(id);
}
@PostMapping
public boolean addUser(@RequestBody User user) {
return userService.save(user);
}
@PutMapping("/{id}")
public boolean updateUser(@PathVariable Long id, @RequestBody User user) {
user.setId(id);
return userService.updateById(user);
}
@DeleteMapping("/{id}")
public boolean deleteUser(@PathVariable Long id) {
return userService.removeById(id);
}
}7. 启动类
确保启动类位于正确的包路径下,以便 Spring Boot 自动扫描到所有组件。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}8. 测试
启动应用并测试各个接口是否正常工作。
mvn spring-boot:run
快捷方式和最佳实践
- Lombok:使用 Lombok 可以大大减少样板代码,如 getter、setter、toString 等。
- 全局异常处理:使用 @ControllerAdvice 注解创建全局异常处理器,统一处理异常。
- 分页查询:MyBatis Plus 提供了内置的分页支持,使用 Page 对象即可轻松实现分页查询。
- 事务管理:使用 @Transactional 注解管理事务,确保数据的一致性和完整性。
- 日志记录:使用 logback 或 log4j2 配置日志记录,方便调试和监控。
到此这篇关于Mybatis plus结合springboot使用的文章就介绍到这了,更多相关Mybatis plus结合springboot内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
