怎么将mybatis的项目改成mybatisPlus
引入MyBatis-Plus依赖:
首先,您需要在项目的pom.xml
(如果是Maven项目)或build.gradle
(如果是Gradle项目)文件中添加MyBatis-Plus的依赖。对于Maven项目,可以在
pom.xml
中添加如下依赖:<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency>
对于Gradle项目,可以在build.gradle中添加如下依赖:
implementation 'com.baomidou:mybatis-plus-boot-starter:最新版本号'
配置MyBatis-Plus:
在项目的配置文件中(如application.yml
或application.properties
),您需要配置MyBatis-Plus的相关参数,如数据源、Mapper扫描路径等。例如,在
application.yml
中可以这样配置:mybatis-plus: mapper-locations: classpath:/mapper/*.xml type-aliases-package: com.yourpackage.domain global-config: db-config: id-type: auto # 主键策略 logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启SQL日志
修改Mapper接口:
MyBatis-Plus提供了很多便捷的CRUD方法,因此您可以修改原有的Mapper接口,继承BaseMapper
接口,这样您就可以直接使用MyBatis-Plus提供的CRUD方法了。例如:
import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.example.demo.entity.User;public interface UserMapper extends BaseMapper<User> { // 自定义的SQL语句可以写在这里}
修改Service层:
由于Mapper接口已经继承了BaseMapper
,因此Service层可以直接调用Mapper接口中的方法来实现CRUD操作。您可能需要修改Service层的方法,以便使用MyBatis-Plus提供的便捷方法。MyBatis-Plus 也提供了
Service
和ServiceImpl
类,你可以继承这些类来简化你的业务逻辑。例如:- public class UserService extends ServiceImpl<UserMapper, User> {// 这里可以添加业务逻辑方法,如果需要的话}
. 自动生成代码(可选)
MyBatis-Plus 提供了一个代码生成器,可以自动生成实体类、Mapper 接口和 XML 文件(如果你需要的话)。你可以通过以下方式使用代码生成器:
// 自动生成代码的配置类@Slf4jpublic class CodeGenerator
{ public static void main(String[] args) { // 数据源配置
GenConfig config = new GenConfig();
config.setParent("com.yourpackage"); // 设置父包名
config.setMapperName("%sMapper"); // 设置Mapper文件名 %s -> 表名转成大写首字母+小写其余
config.setXmlName("%sMapper"); // 设置XML文件名 %s -> 表名转成大写首字母+小写其余
config.setServiceName("%sService"); // 设置Service文件名 %s -> 表名转成大写首字母+小写其余
config.setServiceImplName("%sServiceImpl"); // 设置Service实现类文件名 %s -> 表名转成大写首字母+小写其余
config.setEntityName("%s"); // 设置实体类文件名 %s -> 表名转成大写首字母+小写其余
config.setAuthor("your_name"); // 设置作者名
config.setInclude(scanner("表名,多个英文逗号分割").split(",")
); // 设置需要生成的表名,多个英文逗号分割(去掉表前缀) config.setControllerName(null); // 设置Controller文件名(%s -> 表名转成大写首字母+小写其余)如果为空则不生成@RestController config.setSwagger2(true); // 是否开启swagger2模式(默认关闭) new GeneratorBuilder(config).generate(); // 执行生成代码操作 }}
测试迁移效果:
完成以上步骤后,您需要运行项目并测试迁移效果。确保所有的CRUD操作都能正常执行,并且没有出现任何异常。优化和调整:
根据项目的实际情况,您可能需要对MyBatis-Plus的配置进行优化和调整,以便更好地满足项目的需求。
需要注意的是,由于MyBatis-Plus提供了很多便捷的功能和特性,因此在迁移过程中可能会遇到一些与原有MyBatis项目不兼容的地方。这时,您需要仔细阅读MyBatis-Plus的官方文档,了解相关特性和配置方法,以便更好地完成迁移工作。
本文原创,转载必追究版权。