五分钟让你SpringBoot整合Mybatis-Plus
SpringBoot三部曲:
pom依赖文件
<!-- mybatis-plus依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!-- web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
修改application.yml,如果没有则新建一个
spring:
application:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://***:33306/***?serverTimezone=UTC
username: **
password: ****
#输出sql日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
一切做完,开始实战demo,依次新建实体类、mapper、service文件
新建实体类
@TableName(value ="job_card")//用来修饰实体类,用于实体类和数据库实体表的名字映射
@Data//省略getter、setting、toString方法
public class JobCard implements Serializable {
@TableField//id专用
private String _id;
private int productionState;
@TableField(value = "jobcard_id")//字段名映射
private String jobCardId;
@TableField(value = "jobcard_id_no")
private String jobCardIdNo;
}
新建mapper文件
@Mapper
public interface JobCardMapper extends BaseMapper<JobCard> {//继承BaseMapper传入实体类,这里用到什么实体就传入什么实体
}
新建service文件
做完这一步,就可以直接使用mybatis-plus自带的单表增删改查操作
public interface JobCardService extends IService<JobCard> {
}
@Service
public class JobCardServiceImpl extends ServiceImpl<JobCardMapper, JobCard>
implements JobCardService{
}
这里选择最常用方法演示
@SpringBootTest
class JobCardServiceImplTest {
@Autowired
private JobCardService jobCardService;
@Test
public void test2(){
// 查询
jobCardService.list();
// 通过条件构造器增加条件
LambdaQueryWrapper<JobCard> jobCardLambdaQueryWrapper = new LambdaQueryWrapper<>();
// where job_card_id_no = '123'
jobCardLambdaQueryWrapper.eq(JobCard::getJobCardIdNo,"123")
// and production_state != 'good'
.ne(JobCard::getProductionState,"good")
// 大于
// .gt()
;
List<JobCard> list = jobCardService.list(jobCardLambdaQueryWrapper);
//更新
LambdaUpdateWrapper<JobCard> jobCardLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
// set job_card_id_no='123' where production_state='good'
jobCardLambdaUpdateWrapper.set(JobCard::getJobCardIdNo,"123")
.eq(JobCard::getProductionState,"good");
jobCardService.update(jobCardLambdaUpdateWrapper);
}
}