基于Spring+SpringMVC+MyBatis开发书评网(三)MyBatis-Plus的整合

一、 前提

1、 概要

项目整合使用国产框架MyBatis-Plus

 

2、 定义

基于 MyBatis 的敏捷开发插件,即增强工具

 

3、 作用

快速完成对应数据表的增删改查,提高开发效率

 

4、 MyBatis-Plus开发三部曲(第三步展开说)

1) 创建实体类, @TableName/@TableField/@TableId 实现映射

2) 创建 Mapper 接口继承 BaseMapper,创建 Mapper XML

3) 开发时注入 Mapper对象,通过内置的API实现CRUD操作

基于Spring+SpringMVC+MyBatis开发书评网(三)MyBatis-Plus的整合_第1张图片

 

二、 原有基础上修改配置(原有点这里)

1、 引入相关依赖


        
        
        
        
        
            com.baomidou
            mybatis-plus
            3.3.2
        

 

2、 Spring XML更改配置SqlSessionFactory


    
    
    
    
    
        
        
        
        
        
        
    

 

3、 配置MyBatis-Plus分页拦截器插件


        
        
        
    

 

三、 整合测试

1、 创建/配置实体类

基于Spring+SpringMVC+MyBatis开发书评网(三)MyBatis-Plus的整合_第2张图片

package com.imooc.reader.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
 * @ClassName Test
 * @Description 实体类
 * @date 2021/5/8 8:46
 * @Param
 * @return
 */

// 说明实体对应哪一张表
@TableName("test")
public class Test {
    // 声明表的主键,type:主键生成方式
    @TableId(type = IdType.AUTO)
    // 说明属性对应哪个字段
    @TableField("id")
    private Integer id;

    // 如果字段名与属性名相同或者符合驼峰命名转换规则,则TableField可省略
    // 1. 字段名与属性名相同: content
    // 2. 符合驼峰命名转换规则: abc_abc   abcAbc
    @TableField("content")
    private String content;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}

 

2、 修改已有的Mapper接口

基于Spring+SpringMVC+MyBatis开发书评网(三)MyBatis-Plus的整合_第3张图片

package com.imooc.reader.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.imooc.reader.entity.Test;

/**
 * @ClassName TestMapper
 * @Description TestMapper接口
 * @date 2021/5/7 17:07
 * @Param
 * @return
 */
// BaseMapper核心父接口,内有增删改查的方法
public interface TestMapper extends BaseMapper {
    // 自定义方法
    public void insertSample();
}

 

3、 创建测试用例类

package com.imooc.reader.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.imooc.reader.entity.Test;
import com.imooc.reader.mapper.TestMapper;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import javax.annotation.Resource;
import java.util.List;

/**
 * @ClassName MyBatisPlusTest
 * @Description MyBatisPlus测试用例
 * @date 2021/5/8 9:03
 * @Param
 * @return
 */
// 初始化IOC容器
@RunWith(SpringJUnit4ClassRunner.class)
// 指向要加载的配置文件
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class MyBatisPlusTest {

    // 注入配置好的接口
    @Resource
    private TestMapper testMapper;

    // 增加测试
    @org.junit.Test
    public void testInsert() {
        Test test = new Test();
        test.setContent("MyBatis Plus增加测试");
        testMapper.insert(test);
    }

    // 更新测试
    @org.junit.Test
    public void testUpdate() {
        Test test = testMapper.selectById(9);
        test.setContent("MyBatis Plus更新测试");
        testMapper.updateById(test);
    }

    // 删除测试
    @org.junit.Test
    public void testDelete() {
        testMapper.deleteById(9);
    }

    // 查找测试
    @org.junit.Test
    public void testSelect() {
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq("id", 7);
        queryWrapper.gt("id", 5);
        List list = testMapper.selectList(queryWrapper);
        System.out.println(list.get(0));
    }
}

 

你可能感兴趣的:(SSM项目开发,mybatis,spring,spring,boot,java,mysql)