Spring整合MyBatisPlus
基于上一篇调整
Spring整合MyBatis:https://www.cnblogs.com/uncleyong/p/17026215.html
pom添加MyBatis-Plus依赖
注释掉下面依赖,因为mybatis-plus会帮我们维护下面两个依赖
<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>
添加依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.3.2</version> </dependency>
集成MyBatis-Plus
修改
<!--配置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
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
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
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对象可以调用很多方法
测试类
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); } }
结果
删除
@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
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!