当前位置: 首页 > wzjs >正文

广州免费核酸在哪里做西安seo推广公司

广州免费核酸在哪里做,西安seo推广公司,css网站图标大小,网站流量依赖率一、新建项目 新建项目,项目名称logindemo,组名为my,用的java21去写的,用的包管理为maven 添加依赖,我这边使用的3.4.3版本,添加了4个依赖 二、设计数据库 设计表单,设置一个自增的主键uid&…

一、新建项目

  • 新建项目,项目名称logindemo,组名为my,用的java21去写的,用的包管理为maven
    在这里插入图片描述
  • 添加依赖,我这边使用的3.4.3版本,添加了4个依赖
    在这里插入图片描述

二、设计数据库

  • 设计表单,设置一个自增的主键uid,然后再设置一下账号和密码的类型
    在这里插入图片描述
  • 添加测试账号
    在这里插入图片描述

三、配置数据库

  • 找到配置文件application.properties
    在这里插入图片描述
  • 输入数据库相关配置信息,此处配置了项目端口号为8082,可不配置,默认端口号为8080【注意:配置url处logindemo改为你的数据库名称】
spring.application.name=logindemo# 配置端口号为8082
server.port=8082# 配置数据库
# 配置驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 若连接的是云数据库则将localhost改为云端ip
spring.datasource.url=jdbc:mysql://localhost:3306/logindemo?serverTimezone=UTC
# Mysql用户
spring.datasource.username=root
# Mysql对应用户密码
spring.datasource.password=123456# 配置MyBatis
mybatis.mapper-locations=classpath:mybatis
mybatis.type-aliases-package=com.my.logindemo.domain

四、实体类

  • 实体类里面的变量名称要与数据库的变量名称对应
package com.my.logindemo.domain;public class User {private int uid;private String uname;private String password;public int getUid() {return uid;}public void setUid(int uid) {this.uid = uid;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

四、Dao层的实现

  • 这里有2个方法,一个是找对应的账号和密码来实现登录功能,第二个就是查找账号来实现注册功能(账号唯一性)
  • 注意这里使用的是mybatis的方法
package com.my.logindemo.repository;import com.my.logindemo.domain.User;@org.apache.ibatis.annotations.Mapper
public interface UserDao {User findByUname(String uname);User findByUnameAndPassword(String uname, String password);int insertUser(User user);
}

五、配置mybatis

  • namespace用来映射自己的dao层
  • id绑定对应dao层的方法
  • user为自己数据库的名字
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.my.logindemo.repository.UserDao"><select id="findByUname" resultType="com.my.logindemo.domain.User">SELECT * FROM user WHERE uname = #{uname}</select><select id="findByUnameAndPassword" resultType="com.my.logindemo.domain.User">SELECT * FROM user WHERE uname = #{uname} AND password = #{password}</select><insert id="insertUser" parameterType="com.my.logindemo.domain.User">INSERT INTO user (uname, password) VALUES (#{uname}, #{password})</insert>
</mapper>

六、实现service层

  • 我们这里先看一下service
package com.my.logindemo.service;
import com.my.logindemo.domain.User;public interface UserService {/*** 登录业务逻辑* @param uname 账户名* @param password 密码* @return*/User loginService(String uname, String password);/*** 注册业务逻辑* @param user 要注册的User对象,属性中主键uid要为空,若uid不为空可能会覆盖已存在的user* @return*/User registService(User user);
}
  • 第二个就是servicelmpl
package com.my.logindemo.service.servicelmpl;import com.my.logindemo.service.UserService;
import com.my.logindemo.domain.User;
import com.my.logindemo.repository.UserDao;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;@Service
public class UserServicelmpl implements UserService{@Resourceprivate UserDao userDao;@Overridepublic User loginService(String uname, String password) {User user = userDao.findByUnameAndPassword(uname, password);// 重要信息置空if(user != null){user.setPassword("");}return user;}@Overridepublic User registService(User user) {//当新用户的用户名已存在时if(userDao.findByUname(user.getUname())!=null){// 无法注册return null;}else{// 插入用户到数据库int result = userDao.insertUser(user);if (result > 0) {//返回创建好的用户对象user.setPassword("");return user;} else {return null;}}}
}

七、自定义工具类

  • 自定义一个信息回复
package com.my.logindemo.utils;public class Result<T> {private String code;private String msg;private T data;public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public T getData() {return data;}public void setData(T data) {this.data = data;}public Result() {}public Result(T data) {this.data = data;}public static Result success() {Result result = new Result<>();result.setCode("200");result.setMsg("成功");return result;}public static <T> Result<T> success(T data) {Result<T> result = new Result<>(data);result.setCode("200");result.setMsg("成功");return result;}public static <T> Result<T> success(T data,String msg) {Result<T> result = new Result<>(data);result.setCode("200");result.setMsg(msg);return result;}public static Result error(String code, String msg) {Result result = new Result();result.setCode(code);result.setMsg(msg);return result;}
}

八、实现controller层

package com.my.logindemo.controller;import com.my.logindemo.domain.User;
import com.my.logindemo.service.UserService;
import com.my.logindemo.utils.Result;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;@RestController
public class UserController {@Resourceprivate UserService userService;@PostMapping("/login")public Result<User> loginController(@RequestBody User newUser){User user = userService.loginService(newUser.getUname(),newUser.getPassword());if(user!=null){return Result.success(user,"登录成功!");}else{return Result.error("403","账号或密码错误!");}}@PostMapping("/register")public Result<User> registController(@RequestBody User newUser){User user = userService.registService(newUser);if(user!=null){return Result.success(user,"注册成功!");} else{return Result.error("403","用户名已存在!");}}
}

九、测试

  • 使用postman进行登录和注册功能的测试
    在这里插入图片描述
    在这里插入图片描述
http://www.dtcms.com/wzjs/340146.html

相关文章:

  • 网站右侧信息跟随左侧菜单栏变化云搜索下载
  • 网站培训中心seo下载站
  • 重庆网站建站建设平台sem竞价推广代运营收费
  • 承德市网站建设公司网站推广优化排名教程
  • 科技公司网页设计素材太原高级seo主管
  • wordpress 获取作者名网络seo推广培训
  • 二维码的网站如何做seo优化方法网站快速排名推广渠道
  • 佛山网站建设公司排行免费刷粉网站推广
  • 使用他人注册商标做网站视频号推广方法
  • 日本人做网站app开发费用一览表
  • 怎么找到那个网站搜索引擎营销案例有哪些
  • 网站建设怎么插入邮箱怎么弄一个网站平台
  • linux做网站的好处seo百度点击软件
  • 做兼职的网站都有哪些青岛百度代理公司
  • 怎样做企业官方网站seowhy培训
  • 响应式网站好还是自适应网站好最新的疫情防控政策和管理措施
  • 上海平台网站建设公司班级优化大师客服电话
  • 小说小程序搭建江苏seo团队
  • 网站访问量查询整站seo优化公司
  • 有什么做照片书的网站搜索引擎推广的方法有
  • 上海网站推广珈维网络推广员工作好做吗
  • 广州外贸网站推广长沙seo优化哪家好
  • 网上做娱乐广告的网站北京营销推广公司
  • 做响应式网站的菜单栏网络营销的概念与含义
  • 做导购网站多少钱爱站网反链查询
  • 开源网站后台管理系统搜索引擎优化关键词
  • 筑巢网站河南百度seo
  • 如何网上快速接网站开发订单关键词出价计算公式
  • 卢龙网站建设天津快速关键词排名
  • 沌口做网站关键词收录查询工具