首页 > 其他分享 >第四篇 - Spring Boot写一个登录功能1

第四篇 - Spring Boot写一个登录功能1

时间:2023-05-30 19:24:41浏览次数:37  
标签:demo Spring org Boot example 第四篇 import com public

SpringBoot + Mysql + jdk8

一、新建Spring Boot项目

 创建成功后的目录为

 创建多个package,结构如下:

 先尝试build一下项目

 报错java: 警告: 源发行版 17 需要目标发行版 17

 Rebuild一下项目

 报错类文件具有错误的版本 61.0, 应为 52.0

 重启IDEA,Rebuild项目,成功。

接下来尝试Run一下项目

 报错Unable to instantiate org.mybatis.spring.boot.autoconfigure.MybatisDependsOnDatabaseInitializationDetector

 二、配置MySQL环境

参考链接:https://zhuanlan.zhihu.com/p/348166709

pom.xml添加依赖

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
</dependency>

 

application.properties添加配置

spring.datasource.url=jdbc:mysql://localhost:3307/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true

 

在controller文件夹下新建一个UserController类

package com.example.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
    @RequestMapping("/getuserlist")
    public String getUserList()
    {
        return "获取成功!";
    }
}

 

新建一个entity文件夹并再此文件夹下新建一个User类

package com.example.demo.entity;

public class User {
    public String user_account;
    public String user_password;

    public String getUsername() {
        return user_account;
    }

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

    public String getUserpassword() {
        return user_password;
    }

    public void setUserpassword(String User_password) {
        this.user_password = User_password;
    }

}

 

在mapper文件夹下新建一个UserMapper类

package com.example.demo.mapper;

import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface UserMapper {
    //然后做一些数据库的对应操作,这次是查询操作
    @Select("select * from user")
    List<User> getUserList();
}

 

文件目录

 

UserService.java

package com.example.demo.service;

import com.example.demo.entity.User;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface UserService {
    //和mapper相呼应,有一个对应的方法
    List<User> getUserList();
}

 

UserServiceImpl.java

package com.example.demo.service.impl;

import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> getUserList() {
        try{
            List<User> users= userMapper.getUserList();
            return users;

        }catch (Exception e){
            //好像是 如果不throw的话,会报错。。。
            e.printStackTrace();
            throw e;
        }
    }
}

 

修改UserController.java

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.service.impl.UserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UserController {
    @Autowired
    private UserServiceImpl userServer;

    @RequestMapping("/getuserlist")
    public List<User> getUserList()
    {
        return userServer.getUserList();
    }
}

 

最后在Demo1Application.java中添加注解

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.demo")
public class Demo1Application {

    public static void main(String[] args) {
        SpringApplication.run(Demo1Application.class, args);
    }

}

 

报错类文件具有错误的版本 61.0, 应为 52.0

 重启IDEA,运行项目,成功。

访问http://localhost:8080/getuserlist

 

标签:demo,Spring,org,Boot,example,第四篇,import,com,public
From: https://www.cnblogs.com/smart-zihan/p/17444140.html

相关文章

  • Sentinel整合Spring Cloud Gateway、Zuul详解
    Sentinel支持对SpringCloudGateway、Zuul等主流的APIGateway进行限流。编辑切换为居中添加图片注释,不超过140字(可选)Sentinel1.6.0引入了SentinelAPIGatewayAdapterCommon模块,此模块中包含网关限流的规则和自定义API的实体和管理逻辑:GatewayFlowRule:网关限流规......
  • springboot启动源码
    每个SpringBoot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法,在该方法中通过执行SpringApplication.run()即可启动整个SpringBoot程序。问题:那么SpringApplication.run()方法到底是如何做到启动SpringBoot项目的呢?下面我们查看run()方法内部的源码,核......
  • 分页 springboot
    maven<!--https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spri......
  • Spring之状态机讲解
    目录1状态机1.1什么是状态1.2四大概念1.3状态机1.4springstatemachine2示例Demo2.1订单状态图2.2建表2.3依赖和配置2.3.1pom.xml2.3.2application.yml2.4状态机配置2.4.1定义状态机状态和事件2.4.2定义状态机规则2.4.3配置持久化2.4.3.1持久化到内存2.4.3.2持久......
  • java spring添加自义定拦截器后发生访问路径错误,状态码应该返回404时却返回200的bug
    javaspring添加自义定拦截器后发生访问路径错误,状态码应该返回404时却返回200的bug问题自义定拦截器LoginInterceptor继承HandlerInterceptor,自义定配置类继承WebMvcConfigurer。配置类中@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){......
  • JeecgBoot—Vue3
    https://gitee.com/jeecg/jeecgboot-vue3?_from=gitee_search JeecgBoot—Vue3版前端源码,采用Vue3.0+TypeScript+Vite+Ant-Design-Vue等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。是JeecgBoot低代码平台的vue3技术栈的全新UI版......
  • hj_podman_jenkins_maven_git_springboot_ssh一键部署项目
    podmanpulljenkins/jenkins:jdk17podmanrun-d--privileged=true\-uroot--namejenkins_jdk17_8081\-p8081:8080-p50001:50000\-v/hj_files/jenkins_jdk17:/var/jenkins_home\a307650508c6http://105.35.260.230:8081/ 安装好推荐配置后.再安装俩插件  Mave......
  • springboot-解决项目编译后resources下文件生成乱码问题
    SpringBoot项目下resources文件项目编译之后resources下文件会生成乱码,是说明maven打包的时候出现问题缺少一个插件<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId>......
  • spring security使用实例
    下面是一个使用Java和SpringSecurity的详细示例代码。该示例演示了如何设置身份验证和授权规则,并保护特定的URL路径。请注意,这只是一个基本示例,您可以根据自己的需求进行修改和扩展。首先,确保您已经安装了Java开发环境(JDK)和Maven构建工具。接下来,我们将创建一个Maven项目,并在项......
  • SpringSecurity 添加验证码的两种方式
    一验证码生产<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>@ConfigurationpublicclassKaptchaConfig{@BeanPro......