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);
}