SpringBoot 初次配置数据库并模拟登录验证

第1步:创建表 并 添加数据

创建表

CREATE TABLE `students` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(20) DEFAULT '',
  `password` varchar(255) DEFAULT NULL,
  `age` tinyint unsigned DEFAULT '0',
  `height` decimal(5,2) DEFAULT NULL,
  `gender` enum('男','女','中性','保密') DEFAULT '保密',
  `class_id` int unsigned DEFAULT '0',
  `is_delete` bit(1) DEFAULT b'0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1051 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

添加数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
[Ref] mysql创建数据库,创建数据表,并且插入数据

在这里插入图片描述

第2步:构造Model

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
    private int id;
    private String username;
    private String password;
    private int age;
    private int height;
    private String gender;
    private int classId;
    private boolean logicDelete;
}

在这里插入图片描述

第3步:数据访问层 (Dao层)(Repository层)

com.practisesvr.mapper.UserMapper

@Repository
public interface UserMapper {
    Student getInfo(@Param("name") String name, @Param("password") String password);
}

com.practisesvr.mapper.UserMapper

<?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="com.practisesvr.mapper.UserMapper">

    <select id="getInfo" parameterType="String" resultType="com.practisesvr.model.Student">
        SELECT *
        FROM students
        WHERE username = #{name} and password = #{password}
    </select>

</mapper>

src/main/resources/application.yml

扫描 xml

mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
  mapper-locations: classpath:mapper/*.xml  #配置映射文件

com.zhangziwa.practisesvr.PractisesvrApplication

扫描接口

@SpringBootApplication
@MapperScan("com.practisesvr.mapper")
public class PractisesvrApplication {
    public static void main(String[] args) {
        SpringApplication.run(PractisesvrApplication.class, args);
    }
}

在这里插入图片描述

第4步:业务层(service层)

@Service
public interface UserService {
    Student loginIn(String name, String password);
}

@Component
@Slf4j
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public Student loginIn(String name, String password) {
        log.info("input name {}, password {}", name, password);
        if (ObjectUtils.anyNull(name, password)) {
            log.warn("input name {}, password {}", name, password);
            return null;
        }
        return userMapper.getInfo(name, password);
    }
}

第5层:控制层(Controller层)

@Controller
@Slf4j
public class LoginController {

    @Autowired
    UserService userService;

    // 为了返回登录页面
    @RequestMapping("/login")
    public String show() {
        return "login";
    }

    @RequestMapping(value = "/loginIn", method = RequestMethod.POST)
    public String login(String name, String password) {
        Student student = userService.loginIn(name, password);
        log.info("student {}", student);
        if (student != null) {
            return "success";
        } else {
            return "error";
        }
    }
}

在这里插入图片描述

第6步:前端登录页面

登录页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
<form role="form" action="/loginIn" method="post">
    账号:<input type="text" id="name" name="name"> <br>
    密码:<input type="password" id="password" name="password"> <br>
    <input type="submit" id="login" value="login">
</form>

</body>
</html>

成功页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>success</title>
</head>
<body>
<h1>登录成功!</h1>
</body>
</html>

失败页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>error</title>
</head>
<body>
<h1>登录失败!</h1>
</body>
</html>

thymeleaf配置

spring:
  thymeleaf:
    prefix: classpath:/templates/
    suffix: .html
    cache: false # 关闭缓存

在这里插入图片描述

第7步:数据库配置

src/main/resources/application.yml

spring:
  datasource:
    name: practisedb  #数据库名
    url: jdbc:mysql://localhost:3306/practisedb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
    #url
    username: root  #用户名
    password: 123456  #密码
    driver-class-name: com.mysql.cj.jdbc.Driver  #数据库链接驱动

第8步:maven依赖一览

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-jdbc</artifactId>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>3.0.0</version>
 </dependency>
 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>8.0.18</version>
     <scope>runtime</scope>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
     <scope>test</scope>
 </dependency>

在这里插入图片描述

第9步:启动服务

在这里插入图片描述

第10步:登录演示

登录页面

在这里插入图片描述

登录成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

登录失败

在这里插入图片描述
在这里插入图片描述

参考

使用IDEA搭建一个简单的SpringBoot项目——详细过程

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 首先在pom.xml文件中添加mysql驱动依赖: ``` <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> ``` 2. 在application.properties文件中配置mysql数据库连接信息: ``` spring.datasource.url=jdbc:mysql://localhost:3306/数据库spring.datasource.username=用户名 spring.datasource.password=密码 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 3. 在启动类中添加注解@EnableJpaRepositories和@EntityScan,用于扫描实体类和JPA接口: ``` @SpringBootApplication @EnableJpaRepositories(basePackages = "com.example.demo.repository") @EntityScan(basePackages = "com.example.demo.entity") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 4. 在实体类中添加注解@Entity和@Id,用于映射数据库表和主键: ``` @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer age; // 省略getter和setter方法 } ``` 5. 在JPA接口中继承JpaRepository,用于实现基本的CRUD操作: ``` @Repository public interface UserRepository extends JpaRepository<User, Long> { } ``` 6. 在Service中注入UserRepository,用于调用JPA接口中的方法: ``` @Service public class UserService { @Autowired private UserRepository userRepository; // 省略其他方法 } ``` 以上就是使用Spring Boot配置MySQL数据库的基本步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值