2 【基础篇】
2.1 通用Mapper接口介绍
有关于通用Mapper接口,之前我们已经看到了,我们自己编写的Mapper接口继承自BaseMapper接口,由BaseMapper接口提供了很多单表的增删改查相关的操作方法,在入门案例中,我们测试了查询所有的操作。在这一章节,我们介绍一些简单的Mapper接口中的方法,主要是感受一下,Mapper接口中对于单表的增删改查的操作都有涉及。更加高级的一些操作,随后的章节会讲到。
2.1.1 Mapper接口-简单插入数据
插入一条数据
@Testvoid insert(){
User user = new User();
user.setId(6L);
user.setName("Mike");
user.setAge(33);
user.setEmail("[email protected]");
userMapper.insert(user);
}
2.1.2 Mapper接口-简单删除数据
根据id删除数据
@Testvoid deleteOne(){
userMapper.deleteById(6L);
}
2.1.3 Mapper接口-简单修改数据
测试修改全部数据
@Testvoid updateById(){
User user = new User();
user.setId(6L);
user.setName("迈克");
user.setAge(35);
user.setEmail("[email protected]");
userMapper.updateById(user);
}
测试修改部分数据
@Testvoid updateById(){
User user = new User();
user.setId(6L);
user.setName("Mike");
user.setAge(35);
user.setEmail("[email protected]");
userMapper.updateById(user);
}
2.1.4 Mapper接口-简单查询数据
根据Id查询
@Testvoid updateById(){
User user = new User();
user.setId(6L);
user.setName("Mike");
user.setAge(35);
user.setEmail("[email protected]");
userMapper.updateById(user);
}
查询所有
@Testvoid selectList() {
List<User> userList = userMapper.selectList(null);
System._out_.println(userList);
}
2.1.5 小结
本章我们测试了通过接口提供的基本增删改查的实现,可以感受到,将来我们有这些增删改查需求的时候,直接找到对应的方法调用,由Mapper接口的代理对象就会直接给我们拼接好指定的SQL语句,完成查询。 本章节我们测试了一些基本的增删改查操作,有关于条件查询、分页查询等高级的查询操作,在随后章节会统一讲解。
2.2 通用service接口介绍
除了Mapper接口,MybatisPlus还提供了IService接口和对应的实现类ServiceImpl,该实现类已经提供好了一些对应的Service相关的方法,在某些场景下,我们可以直接使用ServiceImpl提供的方法,实现对应的功能。
IService接口
IService接口中包含了service相关的一些增删改查方法
ServiceImpl实现类
ServiceImpl实现类提供了service相关的增删改查方法的实现
UserService接口继承自IService接口
UserServiceImpl类继承ServiceImpl<UserMapper,User>
注入UserService对象,测试相关方法
2.2.1 Service接口-简单插入数据
@Testvoid insertService(){
User user = new User();
user.setId(7L);
user.setName("zhangsan");
user.setAge(35);
user.setEmail("[email protected]");
userService.save(user);
}
2.2.2 Service接口-简单删除数据
@Testvoid deleteService(){
userService.removeById(7L);
}
2.2.3 Service接口-简单修改数据
@Testvoid updateService(){
User user = new User();
user.setId(6L);
user.setAge(40);
userService.updateById(user);
}
2.2.4 Service接口-简单查询数据
@Testvoid selectService(){
List<User> userList = userService.selectList();
System._out_.println(userList);
}
2.2.5 小结
通过继承MybatisPlus提供的Service接口,我们既可以拓展自己的service方法,也可以使用现有的一些service方法
2.3 自定义接口方法
MybatisPlus除了给我们提供了这些丰富的接口方法以外,对于我们自己的需求,也可以编写自定义的接口方法,我们通过自己编写SQL语句的形式,实现想要的SQL需求
2.3.1 自定义Mapper接口方法
Mapper接口中提供抽象方法
@Mapperpublic 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接口方法
@Testvoid myMethod(){
User user = userMapper.selectByName("Jone");
System._out_.println(user);
}
2.3.2 小结
通过本章节的学习,我们学会了自定义接口的方法,自定义接口的语法规范和之前编写Mybatis的语法规范一样,所以可以看出,MybatisPlus是无侵入式的,也就是引入了MybatisPlus并不会对于原先的语法造成任何改变。
标签:Mapper,MybatisPlus,updateById,接口,User,2023,Testvoid,节点,user From: https://blog.51cto.com/u_16077156/6202744