SpringBoot入门项目:搭建登录页面

目的:熟悉SpringBoot目录结构、搭建流程

需求:用SpringBoot搭建登录页面

image-20211210150640778

1- html页面

欢迎页、登录页、登陆结果页、Error页

2- Controller层,也叫Web层,实现与web前端的交互。

路由—网页

@Controller
public class indexController {
    @RequestMapping("/")
    public String helloYou(){
        return "index";     // index是页面
    }
}

3- 配置数据库

application.properties

spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = 7890
spring.datasource.driverClassName = com.mysql.jdbc.Driver

或者application.yml

spring:
  datasource:
    name: test  #数据库名
    url: jdbc:mysql://localhost:3306/test #url
    username: root  #用户名
    password: 7890  #密码
    driver-class-name: com.mysql.jdbc.Driver  #数据库链接驱动

4- Bean层:也叫model层,模型层,entity层,实体层,是数据库表的映射实体类,存放POJO对象;

get、set方法

5- DAO层:也可命名为Mapper。 DAO包括:访问数据库接口文件、访问数据库实现文件

XxxMapper.java(数据库访问接口类)

package com.example.hellospringboot.mapper;

public interface UserMapper {
    UserBean getInfo(String name,String password);
}

XxxMapper.xml(数据库链接实现)

在resource.mapper文件夹中创建一个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="com.example.hellospringboot.mapper.UserMapper">
<!--标签的namespace属性要填写访问数据库接口类文件路径-->
    <select id="getInfo" parameterType="String"
            resultType="com.example.hellospringboot.bean.UserBean">
        SELECT * FROM user WHERE name = #{name} AND password = #{password}
    </select>
</mapper>

6- 配置MyBatis

classpath:mapper/*.xml对应的是resource.mapper.UserMapper.xml👆的地址

application.yml

  ```yml
    mybatis:
      mapper-locations: classpath:mapper/*.xml  #配置映射文件
      type-aliases-package: com.example.hellospringboot.bean #配置实体类
  ```

pom.xml 添加依赖

  ```xml
          <dependency>
              <groupId>org.mybatis.spring.boot</groupId>
              <artifactId>mybatis-spring-boot-starter</artifactId>
              <version>2.2.0</version>
          </dependency>
  ```

7- Service层:也叫服务层,业务层,包括业务接口类和实现类

XxxService.java

public interface UserService {
    // 业务接口类
    UserBean loginIn(String name, String password);
}

XxxServiceImpl.java

@Service
public class UserServiceImpl implements UserService {// 业务实现类
    // 将DAO注入Servicec层
    @Autowired
    private UserMapper userMapper;
    @Override
    public UserBean loginIn(String name, String password) {
        return userMapper.getInfo(name, password);
    }
}

手写AutoWired注解

报错:Error creating bean with name ‘xxxxxController‘: Unsatisfied dependency expressed through field

解决:Impl上忘记写@Service注解

8- JUnit测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class TestApplicationTests {

    @Autowired
    UserService userService;

    @Test
    public void contextLoads() {
        UserBean userBean = userService.loginIn("jun","7890");
        System.out.println("该用户ID为:");
        System.out.println(userBean.getId());
    }
}

9- 项目启动类

要添加注解@MapperScan。项目启动时要扫描mapper接口,否则会报错找不到mapper文件

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

10- Controller

写controller的逻辑

@Controller
public class LoginController {
 
    //将Service注入Web层
    @Autowired
    UserService userService;
 
    @RequestMapping("/login")
    public String show(){
        return "login";
    }
 
    @RequestMapping(value = "/loginIn",method = RequestMethod.POST)
    public String login(String name,String password){
        UserBean userBean = userService.loginIn(name,password);
        if(userBean!=null){
            return "success";
        }else {
            return "error";
        }
    } 
}

大无语报错:Invalid bound statement (not found)的各种原因

spring:
  datasource:
    name: test  #数据库名
    url: jdbc:mysql://localhost:3306/test #url
    username: root  #用户名
    password: 7890  #密码
    driver-class-name: com.mysql.jdbc.Driver  #数据库链接驱动

mybatis:
  mapper-locations: classpath:mapper/*.xml   #配置映射文件
  type-aliases-package: com.example.hellospringboot.bean #配置实体类

mybatis和spring是并列的,不要不小心写到spring里

refer
https://blog.csdn.net/qq_37186947/article/details/88601304
https://blog.csdn.net/qq_38701478/article/details/88808628
https://blog.csdn.net/baidu_39298625/article/details/98102453/

扩展阅读
第一个MyBatis程序
手写AutoWired注解

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于快速开发基于Spring框架的Java应用程序的框架。通过使用Spring Boot,您可以轻松地创建独立的、生产级别的Spring应用程序,而无需为每个应用程序进行复杂的配置。Spring Boot提供了自动配置、起步依赖和命令行界面等功能,以简化Spring应用程序的开发和部署过程。 要开始一个Spring Boot项目,您可以按照以下步骤进行操作: 1. 创建一个Maven或Gradle项目,并添加Spring Boot的起步依赖。起步依赖是一组已经预配置好的依赖项,可以帮助您快速搭建一个Spring Boot应用程序。您可以根据自己的需求选择不同的起步依赖,例如,如果您需要使用Web开发,可以添加spring-boot-starter-web依赖。 2. 配置应用程序的属性。您可以在application.properties或application.yml文件中设置应用程序的属性,例如服务器端口号、数据库连接等。Spring Boot会自动读取这些属性,并根据配置自动完成相关的配置。 3. 创建控制器和服务类。在Spring Boot中,您可以使用@Controller注解创建控制器类,使用@Service注解创建服务类。控制器类用于处理HTTP请求和响应,服务类用于处理业务逻辑。 4. 运行应用程序。您可以使用命令行或IDE运行Spring Boot应用程序。Spring Boot提供了一个内置的Tomcat服务器,可以直接运行应用程序。 5. 测试应用程序。在开发过程中,您可以使用单元测试和集成测试来确保应用程序的正确性。Spring Boot提供了一些测试工具和注解,可以帮助您进行测试。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值