Spring整合MyBatisPlus
基于上一篇调整
Spring整合MyBatis:https://www.cnblogs.com/uncleyong/p/17026215.html
pom添加MyBatis-Plus依赖
注释掉下面依赖,因为mybatis-plus会帮我们维护下面两个依赖
1 2 3 4 5 6 7 8 9 10 | <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis.spring.version}</version> </dependency> |
添加依赖
1 2 3 4 5 | <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.3.2</version> </dependency> |
集成MyBatis-Plus
修改
1 2 3 4 5 6 7 8 9 10 | <!--配置MyBatis的sqlSession工厂SqlSessionFactory(Spring框架管理了session,所以也不需要mybatis工具类了)--> <!--<bean id= "sessionFactory" class = "org.mybatis.spring.SqlSessionFactoryBean" >--> <bean id= "sessionFactory2" class = "com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean" > <!--指定数据库连接对象dataSource--> <property name= "dataSource" ref = "ds" /> <!--指定Mapper的映射文件位置--> <property name= "mapperLocations" value= "classpath:com/qzcsbj/mapper/*.xml" /> <!--指定实体类的别名--> <property name= "typeAliasesPackage" value= "com.qzcsbj.bean" /> </bean> |
修改Mapper
继承BaseMapper
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package com.qzcsbj.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qzcsbj.bean.User; import java.util.List; /** * @公众号 : 全栈测试笔记 * @博客 : www.cnblogs.com/uncleyong * @微信 : ren168632201 * @描述 : <> */ public interface UserMapper extends BaseMapper<User> { } |
修改业务逻辑层
业务逻辑层接口:继承IService
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package com.qzcsbj.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qzcsbj.bean.User; import java.util.List; /** * @公众号 : 全栈测试笔记 * @博客 : www.cnblogs.com/uncleyong * @微信 : ren168632201 * @描述 : <> */ public interface UserService extends IService<User> { } |
业务逻辑层实现类:继承ServiceImpl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package com.qzcsbj.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qzcsbj.bean.User; import com.qzcsbj.mapper.UserMapper; import com.qzcsbj.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @公众号 : 全栈测试笔记 * @博客 : www.cnblogs.com/uncleyong * @微信 : ren168632201 * @描述 : <> */ @Service public class UserServiceImlp extends ServiceImpl<UserMapper,User> implements UserService { @Autowired UserMapper userMapper; } |
说明:上面继承的类SserviceImpl中,注入了baseMapper,所以service对象可以调用很多方法
测试类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | package com.qzcsbj.test; import com.qzcsbj.bean.User; import com.qzcsbj.service.UserService; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** * @公众号 : 全栈测试笔记 * @博客 : www.cnblogs.com/uncleyong * @微信 : ren168632201 * @描述 : <> */ @RunWith(SpringJUnit4ClassRunner. class ) // 表示Spring和JUnit整合测试 @ContextConfiguration( "classpath:applicationContext.xml" ) public class TestSpringMyBatisPlus { @Autowired UserService userService; @Test public void testGetUserById(){ User user = userService.getById(1); System. out .println(user); } } |
结果
删除
1 2 3 4 5 6 7 8 9 | @Test public void testDeleteById(){ boolean b = userService.removeById(8); if (b){ System. out .println( "删除成功" ); } else { System. out .println( "删除失败" ); } } |
注意:业务逻辑层继承的ServiceImpl的方法和mapper层继承的BaseMapper的方法名不一样,比如删除,业务逻辑层是remove,mapper层是delete
结果
原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/17026216.html
__EOF__

本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2022-01-05 k8s被删除的pod一直Terminating状态
2022-01-05 k8s虚拟机未关闭,电脑重启后,虚拟机无法启动
2020-01-05 面试题(造火箭必备技能):请举例一个最有成就感的性能bug
2019-01-05 【转】swagger注释API详细说明