MyBatis-Plus通用IService使用

https://www.javadoc.io/static/com.baomidou/mybatis-plus/1.4.0/com/baomidou/framework/service/IService.html

 

自己实战

凡哥说

UserMapper 按规范是直接对数据库操作----这个是接口层

UserService 是对数据取出后有业务逻辑的操作 ---这个是去继承IService类来使用,实际就是封装了BaseMapper里面的api并且加了点逻辑

 

UserMapper

package com.dao.mapper.test;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dao.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
@DS("localhostsource")
public interface UserMapper extends BaseMapper<User>{

}

UserService

package com.server.TestService;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dao.entity.User;


@DS("localhostsource")
public interface UserService extends IService<User> {
    void setvv();
}

 

UserServiceImpl

package com.server.TestService;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dao.entity.User;
import com.dao.mapper.test.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;


@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    @Autowired
    private UserService userservice;   ------用this.就可以调用方法了 不需要再引入

    @Override
    public void setvv() {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        //模糊查询
        queryWrapper.like("name", "李四");
        List<User> users = userservice.list(queryWrapper);
        //这里实际用this即可,和上面的写法是一样的
//        List<User> users2 = this.list(queryWrapper);
        System.out.println(users);
//        写入操作
        boolean b = userservice.saveOrUpdateBatch(users);
//        System.out.println(b);

//      调用BaseMapper使用条件构造器--接口类是UserMapper
        this.baseMapper.selectList(queryWrapper);
        this.userservice.getOne(queryWrapper);

        User one = userservice.getOne(queryWrapper, false);
        System.out.println(one);

    }

    }


 

 

常用api方法见:

 

IService API用法

https://blog.csdn.net/qq_39038178/article/details/120612802

https://blog.csdn.net/qq_39038178/article/details/120668991

 

批量插入

public boolean addBatchUserInfo(){
        //多态机制创建一个List集合,创建两个用户对象数据,调用add()把用户对象数据,依次添加到List集合中
        List<UserLoginBean> userList = new ArrayList<>();
        userList.add(new UserLoginBean("list用户名3","list密码3"));
        userList.add(new UserLoginBean("list用户名4","list密码4"));
        //saveBatch()是mybatis-plus封装好的,批量添加数据使用,接收集合对象
        //返回boolean类型,true为批量添加成功,反之false批量添加失败
        return userLoginService.saveBatch(userList);
    }

posted @ 2022-04-01 12:41  凯宾斯基  阅读(2300)  评论(0编辑  收藏  举报