Spring Boot项目配置Mybatis Plus
要在 Spring Boot 项目中配置 MyBatisPlus,可以遵循以下详细步骤:
1. 添加依赖项
首先,你需要在
pom.xml
文件中添加 MyBatisPlus 的依赖项。确保版本号是最新的或与你的项目兼容的版本。
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.x.x</version><!-- 使用合适的版本号 --></dependency>
2. 配置数据源
在
application.properties
或
application.yml
文件中配置数据源的相关信息。
# application.properties 示例
spring.datasource.url=jdbc:mysql://localhost:3306/yourdatabase?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
3. 配置 MyBatisPlus
在 Spring Boot 的配置类中,注册 MyBatisPlus 相关的 Bean,包括
SqlSessionFactory
和
PaginationInterceptor
。
importcom.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;importorg.mybatis.spring.SqlSessionFactoryBean;importorg.mybatis.spring.annotation.MapperScan;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importjavax.sql.DataSource;@Configuration@MapperScan("com.example.demo.mapper")publicclassMyBatisPlusConfig{@BeanpublicSqlSessionFactorysqlSessionFactory(DataSource dataSource)throwsException{SqlSessionFactoryBean factory =newSqlSessionFactoryBean();
factory.setDataSource(dataSource);
factory.setPlugins(newPaginationInterceptor());return factory.getObject();}@BeanpublicPaginationInterceptorpaginationInterceptor(){returnnewPaginationInterceptor();}}
这里使用了
@MapperScan
注解来指定 Mapper 接口所在的包路径。
4. 创建实体类
根据数据库表结构创建对应的实体类,并可以使用 MyBatisPlus 提供的一些注解来简化映射关系。
packagecom.example.demo.entity;importcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.annotation.TableId;importcom.baomidou.mybatisplus.annotation.TableName;@TableName("users")publicclassUser{@TableId(value ="id", type =IdType.AUTO)privateLong id;privateString name;privateInteger age;// 其他属性和getter/setter方法}
5. 创建 Mapper 接口
创建 Mapper 接口,并继承
BaseMapper<T>
,其中
<T>
是你的实体类。
packagecom.example.demo.mapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.example.demo.entity.User;importorg.apache.ibatis.annotations.Select;publicinterfaceUserMapperextendsBaseMapper<User>{@Select("SELECT * FROM users WHERE name = #{name}")UserfindUserByName(String name);}
6. 创建 Service 类
在 Service 类中注入 Mapper 接口,并使用它来执行数据库操作。
packagecom.example.demo.service;importcom.baomidou.mybatisplus.extension.service.impl.ServiceImpl;importcom.example.demo.entity.User;importcom.example.demo.mapper.UserMapper;importorg.springframework.stereotype.Service;@ServicepublicclassUserServiceextendsServiceImpl<UserMapper,User>{privatefinalUserMapper userMapper;publicUserService(UserMapper userMapper){this.userMapper = userMapper;}publicUserfindUserById(Long id){return userMapper.selectById(id);}}
7. 创建 Controller 类
创建 Controller 类,用来处理来自客户端的请求,并调用 Service 层的方法。
packagecom.example.demo.controller;importcom.example.demo.entity.User;importcom.example.demo.service.UserService;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassUserController{privatefinalUserService userService;publicUserController(UserService userService){this.userService = userService;}@GetMapping("/user/{id}")publicUsergetUser(@PathVariableLong id){return userService.findUserById(id);}}
8. 启动 Spring Boot 应用
最后,运行 Spring Boot 应用,测试 API 是否正常工作。
packagecom.example.demo;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassDemoApplication{publicstaticvoidmain(String[] args){SpringApplication.run(DemoApplication.class, args);}}
通过上述步骤,你就可以在 Spring Boot 中成功配置并使用 MyBatisPlus 了。如果遇到任何问题,请确保所有的依赖项版本一致,并且所有的配置信息都是正确的。
版权归原作者 毅谦稳 所有, 如有侵权,请联系我们删除。