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

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

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

    <!--配置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

 

结果

 

【bak】

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

 

posted @ 2023-01-05 07:17  全栈测试笔记  阅读(127)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end