Spring boot 整理日记(二)写spring boot 第一个项目

目录

1.spring boot 创建包,和相关作用

2.登录

(1)参数类

(2)dao层

(3)service 

(4)控制器

(5)测试


1.spring boot 创建包,和相关作用

上篇文章教大家

如何配置了spring boot项目,当然创建好了项目肯定还不行,还要创建一些包

这些是需要用到的包

Dao : sql操作接口,用于写数据库方法,也可以写一些简单的sql语句,语句较多的sql语句都会写到resources--->mapper里面

 model:数据模型,用于展示数据库的参数,使用参数必须与数据库参数名一致

service:Service层叫服务层,被称为服务,可以理解就是对一个或多个DAO进行的再次封装,封装成一个服务

web:控制器,这是后端专于服务前端的,调用service中的方法,利用写入接口的方式给前端调用访问

application.yml:这里是数据库的相关配置

好了,接下来让我们来写第一个项目吧,相信大家在登录一款网页或者软件的时候刚进入点击的时候就会被提示,“请先登录” 是吧,

是不是都有体会,那好,现在我们来写登录,让你们可以知道设计软件的登录是多么的简单,(先不设计跨域设置,后续会写)

2.登录

(1)参数类

在model中创建一个User根据你数据库中的数据名来写

package com.example.testClass.model;

public class User {

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    private String username;
        private String password;
}

 写入getter和Setter方法

 

2.然后我们再写一个实体类,在model包里创建ResponseData

/**
 * 用于客户端的实体类
 */

@Data
public class ResponseData<T> {
    private Boolean success;//表示业务层
    private String msg;//提示信息
    private Integer code;//状态码
    private T data;//返回的数据,如果没有要返回的数据,那么以空字符返回
    private long time;//访问接口的时间

    public ResponseData(Integer code,Boolean success, String msg, T data) {
        this.code=code;
        this.success = success;
        this.msg = msg;
        this.time = new Date().getTime();
        if (data == null) {
            this.data = (T) new String("");
        } else {
            this.data = data;
        }
    }

    public static <V> ResponseData success() {
        return new ResponseData(200,true, null, null);
    }

    public static <V> ResponseData error(Integer code,String msg,V data) {
        return new ResponseData(code,false, msg, data);
    }

    public static <V> ResponseData success(V data) {
        return new ResponseData(200,true, "操作成功", data);
    }

    public static ResponseData error(String msg) {
        return new ResponseData(200,false, msg, null);
    }

(2)dao层

/**
 *
 * @Repository 用于声明 dao 层的 bean
 * sql操作接口,用于写数据库的调用方法
 */

@Repository
public interface Dao {

    /**
     *账号密码登录
     * @Param @Param的作用就是给参数命名,比如在mapper里面某方法A(int id),当添加注解后A(@Param("userId") int id),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了。将参数值传如SQL语句中,通过#{userId}进行取值给SQL的参数赋值。
     * @param username 账号
     * @param password 密码
     * @return
     */
    @Select("select count(1) from admin where username=#{username} and password=#{password}")//sql语句
    Integer login(@Param("username") String username, @Param("password") String password);//Integer默认返回的类型是null

}

(3)service 

先写接口

  boolean login(String username, String password) ;//这里我们返回值用Boolean

然后就到了我们的service

@Service
public class TestService implements ITestService {
        @Autowired
        private Dao dao;//需要调用

    @Override
    public boolean login(String username, String password) {
        boolean result =true; //默认登录成功
        if (dao.login(username, password) != 1) {//如果账号密码不对,就返回失败
            result=false;
        }
        return result;
    }
}

(4)控制器

@RestController
@RequestMapping(value = "/back")
public class TestController {

    @Autowired
    private TestService testService;

    @PostMapping("/login")//登录接口
    public ResponseData login(String username, String password) {
        /**
         * 先申明我们刚创建的实体类
         */
        ResponseData responseData = null;
        //判断账户名和密码是否正确
        if (testService.login(username, password)) {//如果登陆成功
            // 如果账号密码正确
            responseData = ResponseData.success("登录成功");
        } else {
            responseData = ResponseData.error("密码密码错误");
        }
        return responseData;

    }
}

(5)测试

好了,写下来我们来测试

推荐大家使用postman,测试体验感还行

 先在数据库找到一个正确的账户名密码

我们的接口名http://localhost:8091/back/login

先来一个错误的测试一下 

再来正确的

 好了,这样我们的登录就完成了

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值