目录结构:
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.49</version>
</dependency>
</dependencies>
application.yml
spring:
datasource:
url: jdbc:mysql://IP:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT
username: root
password: password
driver-class-name: com.mysql.cj.jdbc.Driver
UserInfo.java 【使用lombok插件】
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class UserInfo {
@TableId
private int id;
private String name;
private Integer age;
private String email;
public UserInfo(int id, String name, Integer age, String email) {
this.id = id;
this.name = name;
this.age = age;
this.email = email;
}
}
UserInfoMapper
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zsw.mybatisplus.model.UserInfo;
public interface UserInfoMapper extends BaseMapper<UserInfo> {
}
TestController.java
/**
* 增删改查,代码生成器
*/
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zsw.mybatisplus.mapper.UserInfoMapper;
import com.zsw.mybatisplus.model.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class TestController {
@Autowired
private UserInfoMapper userMapper;
@RequestMapping("/selectAll")
public List<UserInfo> selectAll() {
QueryWrapper<UserInfo> wrapper = new QueryWrapper<>();
wrapper.ge("age", 18);
List<UserInfo> list = userMapper.selectList(wrapper);
return list;
}
@RequestMapping("/selectOne")
public UserInfo selectOne(@RequestParam int id) {
return userMapper.selectById(id);
}
@RequestMapping("/insert")
public int insert() {
UserInfo userInfo = new UserInfo(12, "Rorschach", 24, "772@qq.com");
return userMapper.insert(userInfo);
}
@RequestMapping("/update")
public int update(@RequestParam int id) {
UserInfo userInfo = userMapper.selectById(id);
userInfo.setAge(78);
return userMapper.updateById(userInfo);
}
@RequestMapping("/delete")
public int dalete(@RequestParam int id) {
return userMapper.deleteById(id);
}
@RequestMapping("/page")
public IPage<UserInfo> selectUserPage() {
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
Page<UserInfo> page = new Page<>(2, 3); // 查询第1页,每页返回5条
IPage<UserInfo> iPage = userMapper.selectPage(page, queryWrapper);
return iPage;
}
}
MybatisPlusConfig.java 分页的配置文件
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@Configuration
@MapperScan("com.zsw.mybatisplus.mapper")
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}