前言:Mybatis-Plus是Mybatis的增强插件,具有许多强大功能:如内置代码生成器,分页插件,CRUD操作等,专为偷懒而生官网链接
~demo效果:基于官网的快速入门,体验Mybatis-plus的便捷,结合SpringBoot渲染前端展示查询效果
1.项目所需依赖
org.springframework.boot
spring-boot-starter-jdbc
mysql
mysql-connector-java
com.baomidou
mybatis-plus-boot-starter
3.0.5
org.projectlombok
lombok
org.springframework.boot
spring-boot-starter-thymeleaf
org.thymeleaf.extras
thymeleaf-extras-java8time
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
2.配置数据源+连接数据库
- application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
- sql代码
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'Jone', '18', '[email protected]');
INSERT INTO `user` VALUES ('2', 'Jack', '20', '[email protected]');
INSERT INTO `user` VALUES ('3', 'Tom', '28', '[email protected]');
INSERT INTO `user` VALUES ('4', 'Sandy', '21', '[email protected]');
INSERT INTO `user` VALUES ('5', 'Billie', '24', '[email protected]');
3.编写Mapper继承自BaseMapper
@Mapper
@Repository
public interface UserMapper extends BaseMapper {
}
~ 测试
@SpringBootTest
class MybatisPlusSpringbootApplicationTests {
@Autowired
UserMapper userMapper;
@Test
void contextLoads() {
// 参数是一个条件构造器 null 为查询表中全部数据
List users = userMapper.selectList(null);
// 语法糖
users.forEach(System.out::println);
}
}
4.编写前端控制器
@Controller
public class UserController {
@Autowired
UserMapper userMapper;
/**
* 查询所有用户
* @return
*/
@RequestMapping("/user/list")
public String userList(Model model){
List users = userMapper.selectList(null);
model.addAttribute("user_lists", users);
return "user/list";
}
}
@Controller
public class RouteController {
// 首页
@RequestMapping({"/","/index"})
public String index(){
return "dashboard";
}
}
5.部分前端页面接收参数
后台管理员列表
~效果
查询用户集合