导入sql创建表
-- ----------------------------
-- Table structure for hr_user
-- ----------------------------
DROP TABLE IF EXISTS `hr_user`;
CREATE TABLE `hr_user` (
`id` bigint(20) NOT NULL,
`age` tinyint(3) NULL DEFAULT NULL COMMENT '年龄',
`name` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名字',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of hr_user
-- ----------------------------
INSERT INTO `hr_user` VALUES (1, 20, 'wg1');
INSERT INTO `hr_user` VALUES (2, 20, 'wg2');
INSERT INTO `hr_user` VALUES (3, 20, 'wg3');
引入依赖包:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
yml配置文件
server:
port: 8080
spring:
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC
username: root
password: root123456
#mybatis plus 设置
mybatis-plus:
mapper-locations: classpath*:/mapper/*Mapper.xml
global-config:
# 关闭MP3.0自带的banner
banner: false
db-config:
#主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
id-type: ASSIGN_ID
# 默认数据库表下划线命名
table-underline: true
configuration:
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 返回类型为Map,显示null对应的字段
call-setters-on-nulls: true
# global-config:
# # 逻辑删除配置
# db-config:
# # 删除前
# logic-not-delete-value: 1
# # 删除后
# logic-delete-value: 0
引入MybatisPlus分页插件
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
创建mapper、entity、servcie、controller...
@RestController
@RequestMapping("/user")
public class HrUserController {
@Resource
private HrUserService hrUserService;
@GetMapping(value = "/getUsers")
public List<HrUserEntity> getUsers(){
//http://localhost:8080/user/getUsers
return hrUserService.getUsers();
}
@GetMapping(value = "/getPageUsers")
public List<HrUserEntity> getPageUsers(@RequestParam Integer pageNo,@RequestParam Integer pageSize){
//http://localhost:8080/user/getPageUsers
return hrUserService.getPageUsers(pageNo,pageSize);
}
}
public class HrUserEntity {
//主键id
private Integer id;
//年龄
private Integer age;
//名字
private String name;
//自行提供get/set方法
}
@Mapper
public interface HrUserMapper extends BaseMapper<HrUserEntity> {
//获取用户列表
List<HrUserEntity> selectAllUser();
List<HrUserEntity> getPageUsers(@Param("page") Page<HrUserEntity> page);
}
public interface HrUserService extends IService<HrUserEntity> {
List<HrUserEntity> getUsers();
List<HrUserEntity> getPageUsers(Integer pageNo,Integer pageSize);
}
@Service
public class HrUserServiceImpl extends ServiceImpl<HrUserMapper, HrUserEntity> implements HrUserService {
@Override
public List<HrUserEntity> getUsers() {
return baseMapper.selectAllUser();
}
@Override
public List<HrUserEntity> getPageUsers(Integer pageNo,Integer pageSize) {
Page<HrUserEntity> page = new Page<>(pageNo,pageSize);
return baseMapper.getPageUsers(page);
}
}
<?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.weigang.mybatisplus.mapper.HrUserMapper">
<select id="selectAllUser" resultType="com.weigang.mybatisplus.entity.HrUserEntity">
select * from hr_user
</select>
<select id="getPageUsers" resultType="com.weigang.mybatisplus.entity.HrUserEntity">
select * from hr_user
</select>
</mapper>
启动类加上MapperScan注解
@SpringBootApplication
@MapperScan(basePackages = {"com.weigang.mybatisplus.mapper"})
public class MybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusApplication.class,args);
}
}