
xxxxxxxxxx
package com.itheima;import com.itheima.dao.UserDao;import com.itheima.domain.User;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;class Mybatisplus01QuickstartApplicationTests { private UserDao userDao; void testSave() { User user = new User(); user.setName("黑马程序员"); user.setPassword("itheima"); user.setAge(12); user.setTel("4006184000"); userDao.insert(user); } void testDelete() { userDao.deleteById(1401856123725713409L); } void testUpdate() { User user = new User(); user.setId(1L); user.setName("Tom888"); user.setPassword("tom888"); userDao.updateById(user); } void testGetById() { User user = userDao.selectById(2L); System.out.println(user); } void testGetAll() { List<User> userList = userDao.selectList(null); System.out.println(userList); }}
有什么简单的办法可以自动生成实体类的GET、SET方法?
xxxxxxxxxx
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version></dependency>
xxxxxxxxxx
package com.itheima.domain;import lombok.*;/* 1 生成getter和setter方法:@Getter、@Setter 生成toString方法:@ToString 生成equals和hashcode方法:@EqualsAndHashCode 2 统一成以上所有:@Data 3 生成空参构造: @NoArgsConstructor 生成全参构造: @AllArgsConstructor 4 lombok还给我们提供了builder的方式创建对象,好处就是可以链式编程。 @Builder【扩展】 */public class User { private Long id; private String name; private String password; private Integer age; private String tel;}
思考一下Mybatis分页插件是如何用的?

①:设置分页拦截器作为Spring管理的bean
xxxxxxxxxx
package com.itheima.config;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;public class MybatisPlusConfig { public MybatisPlusInterceptor mybatisPlusInterceptor(){ //1 创建MybatisPlusInterceptor拦截器对象 MybatisPlusInterceptor mpInterceptor=new MybatisPlusInterceptor(); //2 添加分页拦截器 mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return mpInterceptor; }}
②:执行分页查询
xxxxxxxxxx
//分页查询void testSelectPage(){ //1 创建IPage分页对象,设置分页参数 IPage<User> page=new Page<>(1,3); //2 执行分页查询 userDao.selectPage(page,null); //3 获取分页结果 System.out.println("当前页码值:"+page.getCurrent()); System.out.println("每页显示数:"+page.getSize()); System.out.println("总页数:"+page.getPages()); System.out.println("总条数:"+page.getTotal()); System.out.println("当前页数据:"+page.getRecords());}
xxxxxxxxxx
spring datasource typecom.alibaba.druid.pool.DruidDataSource driver-class-namecom.mysql.cj.jdbc.Driver urljdbcmysql//localhost3306/mybatisplus_db?serverTimezone=UTC usernameroot passwordroot# 开启mp的日志(输出到控制台)mybatis-plus configuration log-implorg.apache.ibatis.logging.stdout.StdOutImpl

做法:在resources下新建一个logback.xml文件,名称固定,内容如下:
xxxxxxxxxx
<configuration></configuration>
关于logback参考播客:https://www.jianshu.com/p/75f9d11ae011

xxxxxxxxxx
spring main banner-modeoff # 关闭SpringBoot启动图标(banner)

xxxxxxxxxx
# mybatis-plus日志控制台输出mybatis-plus configuration log-implorg.apache.ibatis.logging.stdout.StdOutImpl global-config banneroff # 关闭mybatisplus启动图标