文章目录
- 通用Mapper接口
- 简单插入数据-insert
- 简单删除数据-deleteById
- 简单修改数据-updateById
- 简单查询数据-selectById
 
- 通用service接口
- Service接口-插入数据
- Service接口-删除数据
- Service接口-修改数据
- Service接口-查询数据
- 自定义接口方法
- 自定义Mapper接口方法
 
通用Mapper接口
- Mapper接口继承自BaseMapper接口,由BaseMapper接口提供了很多单表的增删改查相关的操作方法。在这一章节,介绍一些Mapper接口中的方法。
简单插入数据-insert
- 插入一条数据
@Test
void insert(){
    User user = new User();
    user.setId(6L);
    user.setName("Mike");
    user.setAge(33);
    user.setEmail("test6@powernode.com");
    userMapper.insert(user);
}
简单删除数据-deleteById
- 根据id删除数据
@Test
void deleteOne(){
    userMapper.deleteById(6L);
}
简单修改数据-updateById
- 测试修改全部数据
@Test
void updateById(){
    User user = new User();
    user.setId(6L);
    user.setName("迈克");
    user.setAge(35);
    user.setEmail("maike6@powernode.com");
    userMapper.updateById(user);
}
- 测试修改部分数据
@Test
void updateById(){
    User user = new User();
    user.setId(6L);
    user.setName("Mike");
    user.setAge(35);
    user.setEmail("test6@powernode.com");
    userMapper.updateById(user);
}
简单查询数据-selectById
- 根据Id查询
@Test
    void selectById(){
        User user1 = userMapper.selectById(6L);
        System.out.println(user1);
    }
- 查询所有
@Test
void selectList() {
    List<User> userList = userMapper.selectList(null);
    System.out.println(userList);
}
通用service接口
-  MybatisPlus还提供了IService接口和对应的实现类ServiceImpl,该实现类已经提供好了一些对应的Service相关的方法,在某些场景下,我们可以直接使用ServiceImpl提供的方法,实现对应的功能。 
-  IService接口中包含了service相关的一些增删改查方法 
  
-  ServiceImpl实现类提供了service相关的增删改查方法的实现 
  
-  UserService接口继承自IService接口 
-  UserServiceImpl类继承ServiceImpl<UserMapper,User> 
-  关系如下: 
  
-  注入UserService对象,测试相关方法 
@Autowired
private UserService userService;
Service接口-插入数据
@Test
void insertService(){
    User user = new User();
    user.setId(7L);
    user.setName("zhangsan");
    user.setAge(35);
    user.setEmail("zhangsan@powernode.com");
    userService.save(user);
}
Service接口-删除数据
@Test
void deleteService(){
    userService.removeById(7L);
}
Service接口-修改数据
@Test
void updateService(){
    User user = new User();
    user.setId(6L);
    user.setAge(40);
    userService.updateById(user);
}
Service接口-查询数据
@Test
void selectService(){
    List<User> userList = userService.selectList();
    System.out.println(userList);
}
自定义接口方法
- 通过继承MybatisPlus提供的Service接口,既可以拓展自己的service方法,也可以使用现有的一些service方法
- MybatisPlus除了给我们提供了这些丰富的接口方法以外,对于我们自己的需求,也可以编写自定义的接口方法,我们通过自己编写SQL语句的形式,实现想要的SQL需求
自定义Mapper接口方法
- Mapper接口中提供抽象方法
@Mapper
public interface UserMapper extends BaseMapper<User> {
       User selectByName(String name);
}
- 提供映射配置文件,提供对应的SQL语句
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.powernode.mapper.UserMapper">
     <select id="selectByName" resultType="com.powernode.domain.User">
        select * from user where name = #{value}
     </select>
</mapper>
- 测试自定义的Mapper接口方法
@Test
void myMethod(){
    User user = userMapper.selectByName("Jone");
    System.out.println(user);
}
- 自定义接口的语法规范和之前编写Mybatis的语法规范一样,所以可以看出,MybatisPlus是无侵入式的(引入MybatisPlus并不会对于原先的语法造成任何改变。)



















