0


前后端分离项目-Springboot 【后端框架搭建,SSM】

1.创建新项目

点击

File

->

New

->

Project

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aEMoAfcN-1670854369079)(assets/image-20221130112135-8dt2gus.png)]

选择

Spring Initializr

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-arNQquyF-1670854369080)(assets/image-20221130112115-fy1a14f.png)]

填写信息

  • 修改Group
  • 修改Artifact
  • 修改管理类型Maven(带有文件目录)
  • 修改Java version

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FKGzL7ZJ-1670854369080)(assets/image-20221130114025-30c0y4h.png)]

选择依赖

这里只需要选择

Web

->

Spring Web

即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QSCw8Zay-1670854369081)(assets/image-20221130112628-m2l6wa3.png)]

创建的文件目录如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YrCBcfaD-1670854369081)(assets/image-20221130114107-12mt62w.png)]

2.创建文件目录

  • controller:实现控制转发,基本参数校验,不复杂的简单业务处理

  • service:业务逻辑层- impl(实现层)

  • dao:接口查询接口

  • 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)]

修改

application

为后缀为yml文件

由于默认创建spring-boot项目时,配置文件是

application.properties

,但是存在无法层叠进行配置,不友好——同一个类型配置无法合并

这里我都需要对DataSource 进行配置,在文件中显示效果是这样的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3F1laVSJ-1670854369082)(assets/image-20221130121047-oyrh2fq.png)]

没有层叠关系

因此,我们修改为

application.yml

YAML特点

(1)使用缩进表示层级关系

(2)缩进时不允许使用Tab键,只允许使用空格

(3)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

(4)大小写敏感

同样的设置,但是显示效果却很清晰

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-He7Jrwvj-1670854369082)(assets/image-20221130121240-bj44d4c.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=utf8username: 数据库用户名
    password: 数据库密码

配置类型映射

这里特地配置

驼峰转换

——map-underscore-to-camel-case

mybatis:mapper-locations: classpath:mappers/*.xmltype-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)]

创建实体类

service

->

impl

,创建对应的实体类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zd7LvCp0-1670854369083)(assets/image-20221212115324-5c2656t.png)]

实现接口

publicclassUserServiceImplimplementsUserService{}

添加注解

@ServicepublicclassUserServiceImplimplementsUserService{}

6.创建Dao接口

dao

层创建接口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IvDcHXnj-1670854369083)(assets/image-20221212165202-nj5sk6u.png)]

添加注解

@MapperpublicinterfaceUserDao{}

7.创建controller

添加注解

@RestController

这里注意要添加的注解是

@RestController

,而不是简单的

@Controller

@RestController = @Controller + @ResponseBody

因为这里我们是需要将数据返回到页面上的,因此需要添加

@ResponseBody

为了方便,就直接使用

@RestController

@RestController//@Controller//@ResponseBodypublicclassUserController{}

添加测试方法

@RestControllerpublicclassUserController{@GetMapping("/login")publicStringindex(){return"login";}}

现在我们直接访问,或者通过postman等其他方法进行请求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oGu45EA2-1670854369086)(assets/image-20221212171648-tvwr46w.png)]

添加子路径——可选

因为当前我已经知道系统会有很多接口,较复杂,为统一管理,创建两级请求路径

@RestController@RequestMapping("/user")publicclassUserController{@GetMapping("/login")publicStringindex(){return"login";}}

这里我就创建了

/user

一次路径,也就是说需要请求接口时,需要带上前缀路径才能访问后续

按照原方式请求就报错了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBrOROiM-1670854369086)(assets/image-20221212172404-m7f5qy1.png)]

添加

/user

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SZFVCzDZ-1670854369087)(assets/image-20221212172442-5unejs0.png)]

8.测试整体系统(测试登录接口)

创建DO实体类

实体类与数据库列名相对应

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fr0XpyUs-1670854369087)(assets/image-20221212214740-4ff4rx2.png)]

privateInteger pkUserId;privateString uNumber;privateString uName;privateString uPasswd;

对应的数据库列为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3XagGWkt-1670854369088)(assets/image-20221212215005-3bda8qw.png)]

添加构造方法( 无参 + 有参)

实现UserDao

添加获取用户信息的接口

packagecom.leo.springbootbackend.dao;importcom.leo.springbootbackend.pojo.entity.UserInfo;importorg.apache.ibatis.annotations.Mapper;importorg.apache.ibatis.annotations.Param;@MapperpublicinterfaceUserDao{UserInfogetUserInfo(@Param("userNumber")String userNumber ,@Param("passwd")String passwd);}

添加SQL语句

resources

->

mappers

创建UserMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="dao层对应包路径"><selectid="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)]

实现UserImpl接口

定义属性

使用注解

@Mapper

将userDAO交给Spring进行管理

@AutowiredprivateUserDao userDao;

实现方法

这里只需要打印查询到的结果即可

@OverridepublicBooleanlogin(String userNumber,String passwd){System.out.println(userDao.getUserInfo(userNumber,passwd));returntrue;}

实现UserController逻辑

添加属性——UserService

@AutowiredprivateUserService userService;

实现方法

这里随便传入一个存在的用户即可——仅测试项目是否搭建成功

@PostMapping("/login")publicStringlogin(){
        userService.login("用户名","密码");return"测试成功"}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cFq7LqE2-1670854369088)(assets/image-20221212220937-896fyoo.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hkZZArC5-1670854369089)(assets/image-20221212220949-a0eg661.png)]

标签: spring boot java 前端

本文转载自: https://blog.csdn.net/qq_22841387/article/details/128294183
版权归原作者 li欧啦小屋 所有, 如有侵权,请联系我们删除。

“前后端分离项目-Springboot 【后端框架搭建,SSM】”的评论:

还没有评论