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
type com.alibaba.druid.pool.DruidDataSource
driver-class-name com.mysql.cj.jdbc.Driver
url jdbc mysql //localhost 3306/mybatisplus_db?serverTimezone=UTC
username root
password root
# 开启mp的日志(输出到控制台)
mybatis-plus
configuration
log-impl org.apache.ibatis.logging.stdout.StdOutImpl
做法:在resources下新建一个logback.xml文件,名称固定,内容如下:
xxxxxxxxxx
<configuration>
</configuration>
关于logback参考播客:https://www.jianshu.com/p/75f9d11ae011
xxxxxxxxxx
spring
main
banner-mode off # 关闭SpringBoot启动图标(banner)
xxxxxxxxxx
# mybatis-plus日志控制台输出
mybatis-plus
configuration
log-impl org.apache.ibatis.logging.stdout.StdOutImpl
global-config
banner off # 关闭mybatisplus启动图标