前言
实体类开发————使用 Lombok 快速制作实体类
Mapper 开发————整合 MyBatisPlus,制作数据层测试
Service 开发————基于 MyBatisPlus 进行增量开发,制作业务层测试类
Controller 开发————基于 Restful 开发,使用 PostMan 测试接口功能
1、创建 SpringBoot 项目
2、创建数据库表
3、导入所需坐标
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
复制代码
4、实体层开发
创建 User 类,属性与数据表一一对应,用 lombok 的 Data 注解简化 getset 方法,当表名与类名不同时,用 @TableName("ssmp") 注解形成映射。
package com.example.ssmp.Entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("ssmp") //表名
public class User {
private Integer id;
private String name;
private double price;
}
复制代码
5、Mapper 数据层开发
1)导入坐标
导入 MyBatisPlus 与 Druid 对应的 starter,当然 mysql 的驱动不能少,在前面导入坐标时,已经导入相对应的坐标。
2)配置数据库连接信息
server:
port: 10086
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
username: root
password: root
复制代码
3)创建 UserMapper 类
使用 MyBatisPlus 的标准通用接口 BaseMapper 加速开发
@Mapper 注解和泛型的指定
package com.example.ssmp.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.ssmp.Entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper // 声明这是一个 Mapper
public interface UserMapper extends BaseMapper<User>
{
}
4)编写测试类
@SpringBootTest
public class Test {
@Autowired
private UserMapper userMapper;
@Test
void testGetById(){
System.out.println(bookDao.userMapper(1));
}
@Test
void testSave(){
User user = new User();
user.setName("测试");
user.setPrice("1888");
userMapper.insert(user);
}
}
复制代码
6、Service 业务层开发
用 MyBatis-Plus 实现业务层快速开发
1)创建 IUserService 接口
接口继承 IService 接口,mybatisplus 提供的,实现了增删改查的方法
package com.example.ssmp.Service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.ssmp.Entity.User;
public interface UserService extends IService<User> {
}
复制代码
2)创建 IUserService 实现类
extends ServiceImpl<UserMapper,User> MyBatisPlus 提供的
package com.example.ssmp.Service.Impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.ssmp.Entity.User;
import com.example.ssmp.Mapper.UserMapper;
import com.example.ssmp.Service.UserService;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
}
复制代码
7、Controller 控制层开发
package com.example.ssmp.Controller;
import com.example.ssmp.Entity.User;
import com.example.ssmp.Service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public List<User> getAll(){
return userService.list();
}
}
复制代码
8、测试
打开 Apifox 或者 Postman,发送请求,得到数据与数据一一对应。
总结
SSMP,SpringBoot 和 MyBatis-Plus 的出现大大简化了我们的开发,提升了开发效率,切记过度依赖。。。
评论