1.创建新项目
点击File->New->Project
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aEMoAfcN-1670854369079)(assets/image-20221130112135-8dt2gus.png)]](https://img-blog.csdnimg.cn/fc9a9462c4f84a1380280a240f96b0cc.png)
选择Spring Initializr
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-arNQquyF-1670854369080)(assets/image-20221130112115-fy1a14f.png)]](https://img-blog.csdnimg.cn/048431cadbbf4c79967550fdb4cbc0b1.png)
填写信息
- 修改
Group - 修改
Artifact - 修改管理类型
Maven(带有文件目录) - 修改
Java version
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FKGzL7ZJ-1670854369080)(assets/image-20221130114025-30c0y4h.png)]](https://img-blog.csdnimg.cn/0feaed0b726f4dffb4c4baf5c904fbd0.png)
选择依赖
这里只需要选择Web->Spring Web即可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QSCw8Zay-1670854369081)(assets/image-20221130112628-m2l6wa3.png)]](https://img-blog.csdnimg.cn/cf287ea914bc4fdca312da7bc650be6a.png)
创建的文件目录如下
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YrCBcfaD-1670854369081)(assets/image-20221130114107-12mt62w.png)]](https://img-blog.csdnimg.cn/7d57a8076dd84bf89d06c4fc6f3f9074.png)
2.创建文件目录
-
controller:实现控制转发,基本参数校验,不复杂的简单业务处理
-
service:业务逻辑层
- impl(实现层)
-
pojo(Plain Ordinary Java Object)
据阿里
嵩山版规范,POJO 专指只有 setter/getter/toString 的
简单类-
do(Data Object)——与数据库对应表(实体类),通过 DAO 层向上传输数据源对象
-
dto(Data Transfer Object)——数据传输对象,Service 或 Manager 向外传输的对象
后端–>前端的数据
-
vo(View Object)——显示层对象,通常是 Web 向模板渲染引擎层传输的对象
前端–>后端的数据
-
-
resources
- mappers(存放sql语句)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-crkdW4tm-1670854369082)(assets/image-20221130115527-yyii1on.png)]](https://img-blog.csdnimg.cn/df42a1aee8494f3c9a7249e53f6a9b70.png)
修改application为后缀为yml文件
由于默认创建spring-boot项目时,配置文件是application.properties,但是存在无法层叠进行配置,不友好——同一个类型配置无法合并
这里我都需要对DataSource 进行配置,在文件中显示效果是这样的
没有层叠关系
因此,我们修改为application.yml
YAML特点
(1)使用缩进表示层级关系
(2)缩进时不允许使用Tab键,只允许使用空格
(3)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
(4)大小写敏感
同样的设置,但是显示效果却很清晰
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-He7Jrwvj-1670854369082)(assets/image-20221130121240-bj44d4c.png)]](https://img-blog.csdnimg.cn/cba7fd0a20d842abb550f14e88efa80c.png)
3.导入项目依赖
在项目根目录pom.xml->dependency中添加下列依赖
- jdbc
- mybatis
<!--jdbc启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mysql驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
4.配置mybatis
在application.yaml中添加配置
配置数据源
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql:///数据库名称?useSSL=false&useUnicode=true&characterEncoding=utf8
username: 数据库用户名
password: 数据库密码
配置类型映射
这里特地配置
驼峰转换——map-underscore-to-camel-case
mybatis:
mapper-locations: classpath:mappers/*.xml
type-aliases-package: com.leo.springbootbackend.pojo.do
configuration:
map-underscore-to-camel-case: true
5.创建service接口
在service下创建一个UserService接口
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvvVJjDu-1670854369082)(assets/image-20221212115202-zh8m0q4.png)]](https://img-blog.csdnimg.cn/4d7a95ff6a824327b594862e46666ec1.png)
创建实体类
在service->impl,创建对应的实体类
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zd7LvCp0-1670854369083)(assets/image-20221212115324-5c2656t.png)]](https://img-blog.csdnimg.cn/4d56f465f2ae4186919285637f04ddc5.png)
实现接口
public class UserServiceImpl implements UserService {
}
添加注解
@Service
public class UserServiceImpl implements UserService {
}
6.创建Dao接口
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IvDcHXnj-1670854369083)(assets/image-20221212165202-nj5sk6u.png)]](https://img-blog.csdnimg.cn/fa40166dd5534074a44c188b168ab3cd.png)
添加注解
@Mapper
public interface UserDao {
}
7.创建controller
添加注解@RestController
这里注意要添加的注解是
@RestController,而不是简单的@Controller@RestController = @Controller + @ResponseBody
因为这里我们是需要将数据返回到页面上的,因此需要添加
@ResponseBody的为了方便,就直接使用
@RestController了
@RestController
//@Controller
//@ResponseBody
public class UserController {
}
添加测试方法
@RestController
public class UserController {
@GetMapping("/login")
public String index(){
return "login";
}
}
现在我们直接访问,或者通过postman等其他方法进行请求。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oGu45EA2-1670854369086)(assets/image-20221212171648-tvwr46w.png)]](https://img-blog.csdnimg.cn/7a28fc2498954ec6aaeb55a5afdc1b37.png)
添加子路径——可选
因为当前我已经知道系统会有很多接口,较复杂,为统一管理,创建两级请求路径
@RestController
@RequestMapping("/user")
public class UserController {
@GetMapping("/login")
public String index(){
return "login";
}
}
这里我就创建了
/user一次路径,也就是说需要请求接口时,需要带上前缀路径才能访问后续按照原方式请求就报错了
添加
/user后
8.测试整体系统(测试登录接口)
创建DO实体类
实体类与数据库列名相对应
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fr0XpyUs-1670854369087)(assets/image-20221212214740-4ff4rx2.png)]](https://img-blog.csdnimg.cn/219d94013a1c46a9862af732bddad832.png)
private Integer pkUserId;
private String uNumber;
private String uName;
private String uPasswd;
对应的数据库列为
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3XagGWkt-1670854369088)(assets/image-20221212215005-3bda8qw.png)]](https://img-blog.csdnimg.cn/c7e84f5f364445abbd9ec193184892e9.png)
添加构造方法( 无参 + 有参)
实现UserDao
添加获取用户信息的接口
package com.leo.springbootbackend.dao;
import com.leo.springbootbackend.pojo.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface UserDao {
UserInfo getUserInfo(@Param("userNumber") String userNumber , @Param("passwd") String passwd);
}
添加SQL语句
在resources->mappers创建UserMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao层对应包路径">
<select
id="getUserInfo"
resultType="对应实体类路径"
>
select
pk_user_id,
u_number,
u_name,
u_passwd
from user_info
where u_number = #{userNumber} and u_passwd = #{passwd}
</select>
</mapper>
添加UserService接口
在UserService接口出定义方法
- 返回类型——boolean
- 传递参数
- 方法名——login
Boolean login(String userNumber , String passwd);
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hFohtQoa-1670854369088)(assets/image-20221212220401-yzycezc.png)]](https://img-blog.csdnimg.cn/4412673edbf143e4a840e148e955bfb8.png)
实现UserImpl接口
定义属性
使用注解
@Resource将userDAO交给Spring进行管理
@Autowired
private UserDao userDao;
实现方法
这里只需要打印查询到的结果即可
@Override
public Boolean login(String userNumber, String passwd) {
System.out.println(userDao.getUserInfo(userNumber,passwd));
return true;
}
实现UserController逻辑
添加属性——UserService
@Autowired
private UserService userService;
实现方法
这里随便传入一个存在的用户即可——仅测试项目是否搭建成功
@PostMapping("/login")
public String login(){
userService.login("用户名","密码");
return "测试成功"
}
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cFq7LqE2-1670854369088)(assets/image-20221212220937-896fyoo.png)]](https://img-blog.csdnimg.cn/2c634701bef64cc1b531444941f7e57f.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hkZZArC5-1670854369089)(assets/image-20221212220949-a0eg661.png)]](https://img-blog.csdnimg.cn/7c1d4a6fc1334f148ce310970bf52d92.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3F1laVSJ-1670854369082)(assets/image-20221130121047-oyrh2fq.png)]](https://img-blog.csdnimg.cn/879e2d917efb4eb597f8e997e8d6f022.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBrOROiM-1670854369086)(assets/image-20221212172404-m7f5qy1.png)]](https://img-blog.csdnimg.cn/7d083aa0d1a6481d9f375b7f0da3162d.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SZFVCzDZ-1670854369087)(assets/image-20221212172442-5unejs0.png)]](https://img-blog.csdnimg.cn/aace47f29ef240cf90aaa3b1e8a218bb.png)








![[附源码]JAVA毕业设计英语课程学习网站(系统+LW)](https://img-blog.csdnimg.cn/232092a2d6204ef0bccceb28b1df6956.png)


![[附源码]计算机毕业设计高校车辆管理系统Springboot程序](https://img-blog.csdnimg.cn/cee9635168c542fd912e01f34dd03fe2.png)







