携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情
今天我们来学习一下Spring Boot项目从创建到查询数据完整流程,带大家来体验一下Spring Boot的完整流程,来吧老铁,车上还有位置,准备发车啦!
1.数据准备:表结构如下
CREATE TABLE `hotel` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`hotel_name` varchar(255) DEFAULT NULL COMMENT '酒店名称',
`address` varchar(255) DEFAULT NULL COMMENT '酒店地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
表数据:
2.新版idea工具准备,创建一个全新的项目
点击File->New->Project,如下截图所示
点击左侧的Spring Initializr,配置对应的Name,Type类型为Maven,配置Java版本为8
点击Next,设置Spring Boot版本,设置当前最小的版本 选中Spring Web,然后点击Create
稍等一会儿,项目下载依赖比较慢,下载好之后结构如下
3.配置pom.xml文件,引入mybatis和mysql依赖
<!-- 1.引入mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!-- 2.引入mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
4.配置一下数据库连接信息
#配置端口
server.port=8088
#数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/imooc?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
#数据库用户名
spring.datasource.username=root
#数据库密码
spring.datasource.password=123456
5.创建Spring Boot基本的package(entity,controller,service,mapper)
- entity包下创建Hotel类
package com.imooc.springhotel.entity;
public class Hotel {
private Integer id;
private String hotelName;
private String address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Override
public String toString() {
return "Hotel{" +
"id=" + id +
", hotelName='" + hotelName + ''' +
", address='" + address + ''' +
'}';
}
}
代码说明: 实体entity一般是根据数据库字段来声明对应的字段,然后设置getter和setter方法,最后方便调试,我们重写了toString方法
- mapper创建HotelMapper接口类
@Mapper
@Repository
public interface HotelMapper {
@Select("select * from hotel where id=#{id}")
Hotel findById(long id);
}
代码说明
@Mapper表示 mybatis注解
@Repository表示持久层接口注解
@Select表示查询的sql语句,参数用 #{字段名}表示
- service包下创建HotelService类
@Service
public class HotelService {
@Autowired
HotelMapper hotelMapper;
public Hotel findById(long id){
return hotelMapper.findById(id);
}
}
代码说明
@Service表示表示service层
@Autowired 表示引入对应对象
- controller包下创建HotelController类
@RestController
public class HotelController {
@Autowired
HotelService hotelService;
@GetMapping("list")
@ResponseBody
public String find(@RequestParam Integer id){
return hotelService.findById(id).toString();
}
}
代码说明:
@RestController 说明该类是控制器类
@GetMapping("list") 表示该地址是get方式,名称为 localhot://list
@RequestParam Integer id 表示请求参数类型为整型,字段名为id
6.Spring Boot调用流程
控制器controller调用service,service调用mapper
7.测试接口:
使用postman调用接口:因为数据库只有两条数据,所以id取值为(1,2)
http://localhost:8088/list?id=1
输出的结果如下:
8.总结
1.通过idea初始化下项目
2.在项目pom.xml配置对应的依赖,application.properties配置对应的端口以及数据库连接信息
3.创建包(entity,controller,mapper,service),创建对应的类文件
4.使用postman调用对应的接口