当前位置:   article > 正文

Spring Boot整合MyBatis-Plus_springboot 整合mybatisplus

springboot 整合mybatisplus

引言

在现代软件开发中,我们经常需要处理大量的数据。为了有效地管理这些数据,我们需要使用一些强大的框架。其中,Spring Boot和MyBatis-Plus是两个非常流行的框架。Spring Boot是一个基于Spring的开源Java框架,可以用于创建独立的、生产级别的Spring应用。MyBatis-Plus是一个MyBatis的增强工具,它在MyBatis的基础上增加了许多实用的功能,如自动分页、自动填充等。本文将详细介绍如何使用Spring Boot整合MyBatis-Plus。

Spring Boot整合MyBatis-Plus的基础配置

  • 引入依赖

pom.xml中引入MyBatis-Plus和相关数据库驱动的依赖:

  1. <!-- MyBatis-Plus -->
  2. <dependency>
  3. <groupId>com.baomidou</groupId>
  4. <artifactId>mybatis-plus-boot-starter</artifactId>
  5. <version>3.4.3</version>
  6. </dependency>
  7. <!-- MySQL Connector 数据库驱动 -->
  8. <dependency>
  9. <groupId>mysql</groupId>
  10. <artifactId>mysql-connector-java</artifactId>
  11. <version>5.1.47</version>
  12. </dependency>
  • 配置数据源

application.propertiesapplication.yml中配置数据源信息:

  1. spring:
  2. datasource:
  3. driver-class-name: com.mysql.jdbc.Driver
  4. url: jdbc:mysql://localhost:3306/mybatisplus
  5. username: root
  6. password: root
  7. server:
  8. port: 8181
  9. mybatis-plus:
  10. mapper-locations: classpath:/mapper/*.xml
  11. configuration:
  12. # 日志
  13. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  14. #是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN(下划线命名)到经典 Java 属性名 aColumn(驼峰命名) 的类似映射
  15. map-underscore-to-camel-case: true

温馨提示

  1. mybatis-plus:
  2. global-config:
  3. db-config:
  4. table-prefix: tbl_ #设置所有表的通用前缀名称为tbl_
  • 配置MyBatis-Plus

在Spring Boot的主应用类上添加@MapperScan注解,指定Mapper接口所在的包路径:

  1. @SpringBootApplication
  2. @MapperScan(basePackages = "com.dao")
  3. public class MybatisPlusApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(MybatisPlusApplication.class, args);
  6. }
  7. }

使用MyBatis-Plus进行数据访问

  • 数据准备

  1. CREATE TABLE `user` (
  2. `id` bigint(200) NOT NULL AUTO_INCREMENT,
  3. `name` varchar(20) DEFAULT NULL,
  4. `age` int(3) DEFAULT NULL,
  5. `create_time` date DEFAULT NULL,
  6. `update_time` date DEFAULT NULL,
  7. `version` bigint(10) DEFAULT NULL,
  8. `status` tinyint(20) DEFAULT NULL,
  9. `deleted` int(11) DEFAULT '0',
  10. PRIMARY KEY (`id`)
  11. ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
  • 创建实体类

  1. @Data
  2. @AllArgsConstructor
  3. @NoArgsConstructor
  4. @TableName("user")
  5. public class User {
  6. @TableId(type = IdType.AUTO)
  7. private Long id;
  8. private String name;
  9. private Integer age;
  10. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  11. @TableField(fill = FieldFill.INSERT)
  12. private Date createTime;
  13. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  14. @TableField(fill = FieldFill.INSERT_UPDATE)
  15. private Date updateTime;
  16. @Version
  17. private Long version;
  18. private Integer status;
  19. private Integer deleted;
  20. }
  • 创建Mapper接口

创建Mapper接口,继承BaseMapper接口,无需写具体的SQL语句。

  1. public interface UserDao extends BaseMapper<User> {
  2. }
  • 创建Service接口

  1. public interface UserService extends IService<User> {
  2. }
  • 创建Service实现类

  1. @Service("userService")
  2. public class UserServiceImpl extends ServiceImpl<UserDao, User> implements UserService {
  3. }
  • 创建Controller类

  1. @RestController
  2. @RequestMapping("/user")
  3. public class UserController {
  4. @Autowired
  5. private UserService userService;
  6. @GetMapping("/list")
  7. public List<User> list() {
  8. return userService.list();
  9. }
  10. }

测试应用

ac109323eae04ec7b530bd7bcd4b8632.png

最后,我们可以运行我们的应用来进行测试。如果我们的应用能够正常运行,并且能够正确地从数据库中获取数据,那么我们就可以说我们已经成功地使用Spring Boot整合了MyBatis-Plus。

结语

Spring Boot整合MyBatis-Plus为开发者提供了一个强大而高效的数据访问解决方案。通过简单的配置,开发者可以使用MyBatis-Plus提供的便捷功能,减少了传统MyBatis开发中的样板代码,同时保留了MyBatis的灵活性。整合MyBatis-Plus的代码生成器更是提高了开发效率,使得开发者能够更专注于业务逻辑的实现。通过本文的介绍,希望读者能够深入理解Spring Boot整合MyBatis-Plus的配置和使用方法,从而更加高效地构建健壮的数据访问层。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/662717
推荐阅读
相关标签
  

闽ICP备14008679号