遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

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

修改applicationContext.xml,把SqlSessionFactoryBean替换为MybatisSqlSessionFactoryBean

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

 

结果

 

【bak】

原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/17026216.html

 

posted @   全栈测试笔记  阅读(127)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源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详细说明
浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示