栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis plus无介绍快使用,自带封装service层的使用附源码(三)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis plus无介绍快使用,自带封装service层的使用附源码(三)

Mybatis plus无介绍快使用,自带封装service层的使用附源码(三)
  • 问题背景
      • Mybatis-plus无介绍快使用,CRUD增删改查基本使用附源码(一)
      • Mybatis-plus无介绍快使用,自定义sql语句CRUD增删改查附源码(二)
      • Mybatis-plus无介绍快使用,自带封装service层的使用附源码(三)
      • Mybatis-plus无介绍快使用,注解的使用(四)
      • Mybatis-plus无介绍快使用,Wrapper条件构造器的使用附源码(五)
      • Mybatis-plus无介绍快使用,分页插件和乐观锁插件的使用附源码(六)
      • Mybatis-plus无介绍快使用,枚举变量的使用附源码(七)
      • Mybatis-plus无介绍快使用,多数据源的使用(八)
      • Mybatis-plus无介绍快使用,MybatisX自动生成代码插件的使用(九)
      • Mybatis-plus无介绍快使用,可继承通用的基础实体类(十)
  • 项目搭建
  • 总结
  • Lyric: 秃鹰盘旋死盯着腐肉

问题背景

因为mybatis plus非常的流行,虽然平常mybatis generator也够用了,但多会一个,看别人的代码就轻松一点
注意事项:

  • 官方网站:https://baomidou.com/
  • 官方文档:https://baomidou.com/pages/24112f/
  • 可以自己创建工程,也可以下载源码进行参考
  • MyBatis-Plus在实现插入数据时,会默认基于雪花算法的策略生成id,实体类entity属性都使用对象,使用Long,不能使用long,不然雪花算法会失效
Mybatis-plus无介绍快使用,CRUD增删改查基本使用附源码(一) Mybatis-plus无介绍快使用,自定义sql语句CRUD增删改查附源码(二) Mybatis-plus无介绍快使用,自带封装service层的使用附源码(三) Mybatis-plus无介绍快使用,注解的使用(四) Mybatis-plus无介绍快使用,Wrapper条件构造器的使用附源码(五) Mybatis-plus无介绍快使用,分页插件和乐观锁插件的使用附源码(六) Mybatis-plus无介绍快使用,枚举变量的使用附源码(七) Mybatis-plus无介绍快使用,多数据源的使用(八) Mybatis-plus无介绍快使用,MybatisX自动生成代码插件的使用(九) Mybatis-plus无介绍快使用,可继承通用的基础实体类(十) 项目搭建

1 延续上一篇的代码继续添加,创建service文件夹和接口,以及接口实现类

package com.yg.mybatisplus.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yg.mybatisplus.entity.User;


public interface UserService extends IService {
}

···
package com.yg.mybatisplus.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yg.mybatisplus.entity.User;
import com.yg.mybatisplus.mapper.UserMapper;
import com.yg.mybatisplus.service.UserService;
import org.springframework.stereotype.Service;


@Service
public class UserServiceImpl extends ServiceImpl implements UserService {
}

···

2 测试类

package com.yg.mybatisplus;

import com.yg.mybatisplus.entity.User;
import com.yg.mybatisplus.mapper.UserMapper;
import com.yg.mybatisplus.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.*;



@SpringBootTest
public class MybatisPlusTest {

    @Autowired
    UserMapper userMapper;

    @Autowired
    UserService userService;

    @Test
    void selectTest(){
        //全查
        List users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }

    
    @Test
    public void testInsert(){
        User user = new User();
        user.setName("Vz1");
        user.setAge(211);
        user.setEmail("vz@oz61.cn");
        int result = userMapper.insert(user);
        System.out.println(result > 0 ? "添加成功!" : "添加失败!");
        System.out.println("受影响的行数为:" + result);
        //1527206783590903810(当前 id 为雪花算法自动生成的id)
        System.out.println("id自动获取" + user.getId());
    }

    
    @Test
    public void testDeleteById(){
        int result = userMapper.deleteById(1533011356262625282L);
        System.out.println(result > 0 ? "删除成功!" : "删除失败!");
        System.out.println("受影响的行数为:" + result);
    }

    
    @Test
    public void testDeleteBatchIds(){
        List ids = Arrays.asList(1532349895093833729L,1533012537454157826L,1533012657583161345L);
        int result = userMapper.deleteBatchIds(ids);
        System.out.println(result > 0 ? "删除成功!" : "删除失败!");
        System.out.println("受影响的行数为:" + result);
    }

    
    @Test
    public void testDeleteByMap(){
        //当前演示为根据name和age删除数据
        //执行SQL为:DELETE FROM user WHERe name = ? AND age = ?
        Map map = new HashMap<>();
        map.put("name","Vz1 ");
        map.put("age",211);
        int result = userMapper.deleteByMap(map);
        System.out.println(result > 0 ? "删除成功!" : "删除失败!");
        System.out.println("受影响的行数为:" + result);
    }

    
    @Test
    public void testUpdateById(){
        //执行SQL为: UPDATE user SET name=?, age=?, email=? WHERe id=?
        User user = new User();
        user.setId(5L);
        user.setEmail("Vz@sina.com");
        int result = userMapper.updateById(user);
        System.out.println(result > 0 ? "修改成功!" : "修改失败!");
        System.out.println("受影响的行数为:" + result);
    }

    
    @Test
    public void testSelectById(){
        User user = userMapper.selectById(1L);
        System.out.println(user);
    }

    
    @Test
    public void testSelectBatchIds(){
        //执行SQL为:SELECT id,name,age,email FROM user WHERe id IN ( ? , ? , ? )
        List ids = Arrays.asList(1L,2L,3L);
        List users = userMapper.selectBatchIds(ids);
        users.forEach(System.out::println);
    }

    
    @Test
    public void testSelectByMap(){
        //执行SQL为:SELECT id,name,age,email FROM user WHERe age = ?
        Map map = new HashMap<>();
        map.put("age",18);
        List users = userMapper.selectByMap(map);
        users.forEach(System.out::println);
    }


    
    @Test
    public void testSelectUserById(){
        User user = userMapper.selectUserById(1L);
        System.out.println(user);
    }


    
    @Test
    public void testSelectMapById(){
        Map stringObjectMap = userMapper.selectMapById(1L);
        System.out.println(stringObjectMap);
    }


    
    @Test
    public void testGetCount(){
        //查询总记录数
        //执行的SQL为:SELECT COUNT( * ) FROM user
        long count = userService.count();
        System.out.println("总记录数:" + count);
    }


    
    @Test
    public void saveBatchTest(){
        List list = new ArrayList<>();
        for (int i = 1; i <= 10; i++) {
            User user = new User();
            user.setName("Vz"+i);
            user.setAge(20+i);
            list.add(user);
        }
        boolean b = userService.saveBatch(list);
        System.out.println(b ? "添加成功!" : "添加失败!");
    }


    
    @Test
    public void removeBatchTest(){
        ArrayList list = new ArrayList<>();
        list.add(1533286393523769345L);
        list.add(1533286394119360513L);
        list.add(1533286394119360514L);
        list.add(1533286394119360515L);
        list.add(1533286394119360516L);
        boolean b = userService.removeBatchByIds(list);
        System.out.println("删除状态:" + b);
    }
}

3 项目目录

总结
  • 默认方法不够使用,可以自己在service层添加需要的方法




作为程序员第 151 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …

Lyric: 秃鹰盘旋死盯着腐肉
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952905.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号