mybatisplus 自定义mapper的语法是什么
时间: 2023-04-08 16:02:14 浏览: 71
MybatisPlus自定义Mapper的语法是创建一个接口,继承BaseMapper,并在接口中定义自己的方法。同时,需要在MapperScan注解中指定自定义Mapper的包路径。例如:
```
@Mapper
public interface UserMapper extends BaseMapper<User> {
List<User> selectByAge(Integer age);
}
```
然后在使用时,可以直接注入自定义Mapper,并调用自定义方法:
```
@Autowired
private UserMapper userMapper;
List<User> userList = userMapper.selectByAge(18);
```
相关问题
mybatisplus 自定义sql
MybatisPlus提供了多种自定义SQL的方式,可以根据具体需求选择合适的方式:
1. 使用@Select注解或者Mapper.xml文件中的<select>标签编写自定义SQL语句。
2. 使用Wrapper对象构建查询条件,调用BaseMapper的selectList方法执行查询。
3. 使用QueryWrapper或UpdateWrapper对象构建查询条件,调用BaseMapper的selectOne、selectCount、update、delete等方法执行操作。
4. 使用自定义的BaseMapper接口继承BaseMapper,并在其中定义自己的SQL方法。
5. 使用自定义的SqlInjector实现自定义SQL方法的注入。
需要注意的是,自定义SQL语句需要遵循Mybatis的语法规范,并且在使用时需要注意SQL注入等安全问题。
mybatisplus分页
MybatisPlus 是 Mybatis 的增强工具,提供了许多便捷的功能,其中包括分页功能。
使用 MybatisPlus 进行分页,需要借助 Page 类来实现。Page 类是 MybatisPlus 封装的分页对象,它包含了当前页码、每页显示数量、总记录数、总页数等信息。具体实现步骤如下:
1. 在 Mapper 接口中添加分页方法,需要传入一个 Page 对象作为参数,同时在 SQL 语句中使用 MybatisPlus 提供的分页语法。
```java
public interface UserMapper extends BaseMapper<User> {
IPage<User> selectUserPage(Page<User> page, @Param("name") String name);
}
```
```xml
<select id="selectUserPage" resultType="com.example.demo.entity.User">
select *
from user
where name like concat('%', #{name}, '%')
order by id desc
</select>
```
2. 在 Service 中调用 Mapper 中的分页方法,并将结果封装到 Page 对象中。
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> selectUserPage(Page<User> page, String name) {
return baseMapper.selectUserPage(page, name);
}
}
```
3. 在 Controller 中接收分页参数,调用 Service 中的分页方法,并将结果返回。
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public Result list(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize,
String name) {
Page<User> page = new Page<>(pageNum, pageSize);
IPage<User> userPage = userService.selectUserPage(page, name);
return Result.success(userPage);
}
}
```
以上就是使用 MybatisPlus 进行分页的基本步骤。需要注意的是,MybatisPlus 还提供了一些高级的分页查询功能,比如自定义 SQL、分页插件等。具体可以参考 MybatisPlus 的官方文档。