IService使用
service层需要继承IService,当然实现层也要继承对应的实现类。
/**
* <p>
* 用户 服务类
* </p>
*
* @author IT贱男
* @since 2019-06-14
*/
public interface UserService extends IService<User> {
}
/**
* <p>
* 用户 服务实现类
* </p>
*
* @author IT贱男
* @since 2019-06-14
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
这里小编基本的增删改查就不一一演示了,演示几个特殊一点的方法。
getOne(),这个是方法返回结果不止一条则会抛出异常,如果想默认取第一条结果,可以给这方法传第二个参数为false。
@Test
public void getOne() {
User one = userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getAge, 31),false);
System.out.println(one);
}
saveOrUpdateBatch(),批量新增或者修改方法,判断ID是否存在,如果ID不存在执行新增,如果ID存在先执行查询语句,查询结果为空新增,否则修改。
@Test
public void saveOrUpdateBatch() {
User user1 = new User();
user1.setName("兔子");
user1.setAge(18);
User user2 = new User();
user2.setId(1088250446457389060L);
user2.setName("乌龟");
user2.setAge(18);
List<User> users = Arrays.asList(user1, user2);
boolean b = userService.saveOrUpdateBatch(users);
System.out.println(b);
}
接下来说一下基于lambda的相关操作
/**
* lombda查询
*/
@Test
public void lambdaQuery(){
List<User> list = userService.lambdaQuery().eq(User::getAge, 18).list();
list.forEach(System.out::println);
}
/**
* lombda修改
*/
@Test
public void lambdaUpdate(){
boolean update = userService.lambdaUpdate().eq(User::getAge, 18).set(User::getAge, 31).update();
System.out.println(update);
}
/**
* lombda删除
*/
@Test
public void lambdaRemoce(){
boolean remove = userService.lambdaUpdate().eq(User::getAge, 18).remove();
System.out.println(remove);
}
更多操作
更多操作请移至官网查看:https://mp.baomidou.com/guide/crud-interface.html#service-crud-接口