作者:大三的土狗
专栏:SpringBoot入门到精通
专栏:MyBatis-Plus
快速导航
前言
- 实体类开发————使用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 // 声明这是一个Mapperpublic 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控制层开发
- @RestController Controller控制类专用的注解
- @CrossOrigin 解决跨域的问题
- @Autowired 需要将Service接口依赖注入进来
- @RequestMapping(“/”) 可以设置访问路径
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的出现大大简化了我们的开发,提升了开发效率,切记过度依赖。。。
版权归原作者 大三的土狗 所有, 如有侵权,请联系我们删除。