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{
}
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 {
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 implements UserService {
@Autowired
private UserService userservice; ------用this.就可以调用方法了 不需要再引入
@Override
public void setvv() {
QueryWrapper queryWrapper = new QueryWrapper<>();
//模糊查询
queryWrapper.like("name", "李四");
List users = userservice.list(queryWrapper);
//这里实际用this即可,和上面的写法是一样的
// List 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
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);
}