Mybatis-plus快速搭建
创建一个示例Spring-boot-web项目
引入 Spring Boot Starter 父工程:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath/>
</parent>
引入相关依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
创建数据库表
create table classes
(
id int auto_increment comment '班级ID'
primary key,
name varchar(64) not null comment '班级名称',
constraint class_name_uindex
unique (name)
);
表对应的实体类
@Data
@TableName("classes")
public class ClassEntity {
/*
班级ID
*/
@TableId(type = IdType.AUTO)
private Integer id;
/*
班级名称
*/
private String name;
}
Mapper类
@Mapper
public interface IClassMapper extends BaseMapper<ClassEntity> {
}
CRUD使用示例
创建Test类
@SpringBootTest
@RunWith(SpringRunner.class)
public class ClassTest {
@Autowired
private IClassMapper classMapper;
}
插入数据
@Test
public void testInsert() {
ClassEntity classEntity = new ClassEntity();
classEntity.setName("className");
classMapper.insert(classEntity);
System.out.println(classMapper.selectById(classEntity.getId()));
}
删除数据
@Test
public void testDelete() {
ClassEntity classEntity = new ClassEntity();
classEntity.setName("testDelete");
classMapper.insert(classEntity);
classMapper.deleteById(classEntity.getId());
}
修改数据
@Test
public void testUpdate() {
ClassEntity classEntity = classMapper.selectById(2);
classEntity.setName("testUpdate");
classMapper.updateById(classEntity);
}
条件查询
@Test
public void testSelect() {
String name = "class";
QueryWrapper<ClassEntity> wrapper = Wrappers.query(new ClassEntity())
.eq("id", 1)
.or()
.like(Strings.isNotEmpty(name),"name", name);
List<ClassEntity> classEntities = classMapper.selectList(wrapper);
classEntities.forEach(System.out::println);
}