课程设计--从零开始写一个springboot+MyBatis+jsp管理系统(二)

前言

今天是课程设计的第二天,怎么说呢项目大体上的功能还是确定了,但是心里面还是有点慌,毕竟Thymeleaf的语法可以说是完全不熟悉,所以感觉有一大堆功能不熟悉,更有甚者可能很多功能实现不了。总而言之还有一堆问题等着我去解决。本来想着碰见难题就跳过,但是转念一想,这课设要是得过且过的话,十几天不就等于白瞎了吗?遇强则强,碰见问题就主动去克服他!
不扯多了 ,开整。

项目搭建

万事开头难,本来以为走过一次 应该这一次就会快很多。但是从数据库开始就奇奇怪怪的,新建了一个库一直连不上我吐了。然后又是找之前的项目删删改改把依赖倒进来了,之前因为保险起见以为导入依赖只要不用就行了,结果不是这样的 就好像springsecurity 你就算不去用 他还是会有一大堆拦截器,所以有把昨天的依赖删了,从新部署。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.kuang</groupId>
    <artifactId>springboot-webapp</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-webapp</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!-- 数据层 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--thymeleaf-->
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-thymeleaf</artifactId>-->
<!--        </dependency>-->
        <!-- 用于编译jsp    springboot tomcat jsp 支持开启-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <!--jstl的支持,c标签-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <scope>compile</scope>
        </dependency>
        <!--webjars-->
        <!--<dependency>-->
        <!--<groupId>org.webjars</groupId>-->
        <!--<artifactId>jquery</artifactId>-->
        <!--<version>3.4.1</version>-->
        <!--</dependency>-->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-security</artifactId>-->
<!--        </dependency>-->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

这只是今天的依赖 不晓得明天又要加一些什么功能。

登录注册的实现

别小看这个小小的登录注册。
首先是需要连接数据库。连接数据库分几步走
首先打开mysql的端口(感觉用了mysql我特么这个端口就没关过。。)
然后就是在idea连接数据库 具体的流程就是点左上角的小加号 然后在里面输入你的账号密码 记得下面一定要写连接的具体的哪个数据库 这样的话产生的URL就能直接复制到yaml配置里面了
在这里插入图片描述
在这里插入图片描述

然后就是配置一下yaml文件 主要是里面的 Mapper的扫描位置 还有数据库的连接驱动里面的信息

spring:
  datasource:
    username: sa
    password: 123456
    url: jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver


  mvc:
    view:
      suffix: .jsp
      prefix: /WEB-INF/
mybatis:
  mapper-locations:
    classpath:com/hunanpyy/lplmgmt/mapper/*.xml
  type-aliases-package: com.hunanpyy.lplmgmt.pojo

这两步骤做完后就是开始实体类的编写 这个简单就不多说了 然后就是Mapper的编写

package com.hunanpyy.lplmgmt.mapper;

import com.hunanpyy.lplmgmt.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

/**
* @author Michelle
*/
@Mapper
@Repository
public interface UserMapper {
  User userSubmit(String id);

  boolean userRegister(User user);

  boolean userUpdatePassword(User user);
}
<?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.hunanpyy.lplmgmt.mapper.UserMapper">
    <select id="userSubmit" resultType="com.hunanpyy.lplmgmt.pojo.User" parameterType="String">
        select * from lpluser where id = #{id};
    </select>

    <insert id="userRegister" parameterType="User">
        insert into lpluser (name,id,password)
        values (#{name},#{id},#{password});
    </insert>

    <update id="userUpdatePassword" parameterType="User">
        update lpluser
        set name = #{name}, password=#{password}
        where id = #{id} ;
    </update>


</mapper>

没啥值得注意的 主要就是多写几次就ok了

controller层

package com.hunanpyy.lplmgmt.controller;

import com.hunanpyy.lplmgmt.mapper.UserMapper;
import com.hunanpyy.lplmgmt.pojo.User;
import com.hunanpyy.lplmgmt.service.UserService;
import org.apache.ibatis.jdbc.Null;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpSession;

@Controller
public class UserController {
    @Autowired
    UserMapper userService;


    @GetMapping("test1")
    String userTest(@RequestParam("id") String id,@RequestParam("password") String password){

        return  "test";
    }

    @GetMapping("/userSubmit")
    String userSubmit(HttpSession httpSession, @RequestParam("id") String id, @RequestParam("password") String password){
        System.out.println(id+password);

        User user = userService.userSubmit(id);

        if(user==null){
            System.out.println("user=Null");
        }
        if(user!=null&&user.getPassword().equals(password)){
            httpSession.setAttribute("user",user);
            return "test";

        }
        else{
            httpSession.setAttribute("msg","登录失败");
            return "index";
        }

    }



    @PostMapping("userRegister")
    String userRegister(HttpSession httpSession,
                              @RequestParam ("name") String name,
                              @RequestParam("id") String id,
                              @RequestParam("password") String password) {
        User theNewUser = new User(name, id, password);
        boolean flag = userService.userRegister(theNewUser);
        if (flag) {
            return "test";
            //注册成功
        }
        else {
            return "index";
        }


    }

    @PostMapping("userUpdate")
    String userUpdate(@RequestParam("name") String name,
                      @RequestParam("id") String id,
                      @RequestParam("password") String password){
        User user = new User(name, id, password);
        boolean b = userService.userUpdatePassword(user);
        if (b){
            return "test";
        }
        else {

            return "index";
        }
    }

    @GetMapping("test")
    String test(){
        return "hello";
    }
}

有一个小知识就是我们直接去地址框里面输入静态资源 是访问不到的 因为那里默认的是一个请求 因此我们需要调用请求才能访问到静态资源。

然后你直接去前端输入就能传到后台 实现注册登录还有信息修改。

其实还有个service层的编写 但是我感觉加一层容易出错 所以还是先放一放吧

前端

这里由于我不会vue和其他的那些花里胡哨的 所以我还是使用jsp把 但是springboot是不推荐jsp的 所以就不得不加一点支持了。
首先是要注释掉Thymeleaf的支持 因为这两个是不共存的,然后就是需要改一下配置文件 因为 springmvc的分发器是默认分发给后缀是HTML的 而且会分发给templet那个文件夹里面去

 mvc:
    view:
      suffix: .jsp
      prefix: /WEB-INF/
  

还有就是需要去吧这个web资源目录设置一下 配置到我们新建的这个web文件夹里面 然后他就被赋予了web 的能力
在这里插入图片描述
直到这里 我们就能直接的使用controller来访问jsp文件了 这样我就能把之前写的那些丑的一批的界面给拷贝到这里来了 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值