本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言
其实过程并不复杂,我只是写这么一个东西来继续练习一下springboot和mybatis的一些使用,纯当复习用。
正文
第一步,创建一个新的Module的maven工程。这里我们使用Spring Initializr这么一个快捷创建springboot应用的方式快速创建:
下面就根据自己的需要,一步一步创建就行了,不会的在我的Springboot框架学习的专栏中有另一篇文章做过相关介绍,这里不再赘述(因为真的很简单)。
因为是整合mybatis,所以我们需要引入下面这几个包依赖(图中红圈勾起来的):
从上往下的依赖分别是:
Lombok:
用来简化JavaBean的编写,就是我们可以不用再写对应的get、set方法以及toString啊构造方法什么的。
SpringWeb:
这个很好理解了,就是我们JavaWeb的SpringMVC框架。
Mybatis Framework:
这个就是Mybatis框架了,我们将其整合进来。
MySQL Driver:
因为数据库用的是MySQL,所以我们需要这个驱动。
然后创建工程,工程目录如下:
打开pom文件,可以看见之前我们勾上的场景启动器都有了:
现在我们准备一个数据库springdb,创建一个user表:
然后我们去resources目录下的application文件中配置我们的数据库:
# 配置数据库
spring:
datasource:
url: jdbc:mysql://localhost:3306/springdb
username: root
password: 121314
driver-class-name: com.mysql.jdbc.Driver
然后去写我们的实体类,放在entity包下:
package com.haha.demo.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private String name;
private String email;
private int age;
}
写上mapper文件在mapper包下:
package com.haha.demo.mapper;
import com.haha.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
//查询所有方法
@Select("select * from user")
public List<User> findAll();
}
Mapper层也就是数据层写对应的SQL语句,给出处理数据的接口。 然后去写业务层service:
package com.haha.demo.service;
import com.haha.demo.entity.User;
import com.haha.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
//注入属性
@Autowired
UserMapper userMapper;
public List<User> findAll(){
List<User> list = userMapper.findAll();
return list;
}
}
service层也就是业务层,业务层使用数据层的方法来处理业务逻辑,也就是对数据层接口方法的实现。 然后去写控制层controller:
package com.haha.demo.controller;
import com.haha.demo.entity.User;
import com.haha.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RequestMapping("/user")
@RestController
public class UserController {
@Autowired
UserService userService;
//查询方法
@GetMapping
public List<User> findAll(){
return userService.findAll();
}
}
启动项目,访问端口:
可以看见查询成功,后端以及返回对应的JSON字符串了。