IDEA从零搭建 springboot+mybatis 以及网页简单验证下交互。

首先我们新建一个项目。

选择Spring Initializr  基本配置,选择jdk。

配置包名。随意。

下一步 注意添加依赖:

观察右边的选择项 共五个依赖(用于pom.xml自动导入依赖配置项,自动下载maven需要的包)

next 进入idea主界面

如图配置自己的maven仓库 (自己预先下载好你需要的版本,版本问题不可忽视。)

如果没有的话也可以使用idea自带的 跳过这一步即可。

 接下来查看 pom.xml(之前已经配置过一些依赖所以 pom.xml里面是有东西的)

值得注意的是因为版本问题 我的 application配置文件 jdbc一直报红 删除这个版本标签后就好了。

 

以下是 pom.xml 完整代码。

<?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 http://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.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>oa</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>oa</name>
    <description>Demo project for Spring Boot</description>

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

    <dependencies>
        <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>2.0.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.1</version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>

配置完成后 右击pom.xml 更新一下所需的jar包。(maven会自动根据所需jar包下载)

接下来配置 application文件(项目配置文件)

一开始创建的项目是 application.properties 配置文件。

application.yml 的语句更简洁。删除application.properties 新建一个application.yml即可

注意mybatis配置 映射路径。mapper 要放到资源文件夹(resources)下。注意观察文件结构。

server:
  port: 8080

spring:
  datasource:
    name: test
    url: jdbc:mysql://127.0.0.1:3306/oa2?serverTimezone=GMT%2B8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  thymeleaf:
    prefix: classpath:/templates/


mybatis:
    #注意:一定要对应mapper映射xml文件的所在路径
  type-aliases-package: com.example.oa.entity  # 注意:对应实体类的路径
  mapper-locations: classpath:mapper/*.xml

至此 一个springboot+mybatis的项目已经基本配置完毕。

下面我们来 用网页简单的验证一下 交互问题。

各个文件夹以及类文件

Control层代码

package com.example.oa.controller;

import com.example.oa.entity.User;
import com.example.oa.service.UserLoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;

/**
 * @author meng
 * @date 2019/3/24
 */
@Controller
@RequestMapping(value = {"/user"})
public class UserLoginController {
        /**
         * 注入service
         */
        @Autowired
        private UserLoginService userLoginService;
        /**
         * 跳转到用户登录页面
         * @return 登录页面
         */
        @RequestMapping(value = {"/loginHtml"})
        public String loginHtml(){
            return "userLogin";
        }
        /**
         * 跳转到用户注册页面
         * @return 注册页面
         */
        @RequestMapping(value = {"/registerpage"})
        public String registerpage(){
            return "register";
        }

        /**
         * 获取用户名与密码,用户登录
         * @return 登录成功页面
         */
        @RequestMapping(value = {"/userLogin"})
        public String userLogin(){
            User user = userLoginService.userLogin();
            System.out.println(user.toString());
            if(user != null){                                                  //登录成功

                return "index";
            }
            return "loginError";
        }

    }

Dao层

package com.example.oa.dao;

import com.example.oa.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Mapper
@Repository
public interface UserDao {

    //用户登录
    User userlogin();


}

实体类:(数据库表结构参照实体类 创建即可。)

package com.example.oa.entity;

import java.io.Serializable;

/**
 * @author meng
 * @date 2019/3/24
 */

    public class User  {

    private Integer id;

    private String username;

    private String password;

    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", age=" + age +
                '}';
    }
}

service :

package com.example.oa.service;

import com.example.oa.dao.UserDao;
import com.example.oa.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


@Service
public class UserLoginService {

    /**
     * 注入dao
     */
    @Autowired
    private UserDao s1dao;//这里要是无意义爆红 则是Dao 没有加@Repository

    //用户登录
    public User userLogin(){
        User user =s1dao.userlogin();
        return user;
    }


}

mapper:

<?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.oa.dao.UserDao" >
    <!--用户登录验证-->
    <select id="userlogin"  resultType="com.example.oa.entity.User" >
        SELECT id,username,password,age FROM user where id=1
    </select>

</mapper>

以下是页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
</head>
<body>
请输入用户名与密码登录
<form action="/user/userLogin" method="post">
    《若数据库连接 成功则跳转成功 ,否则自行查看报错信息 》
    <input type="submit" value="登录" />

</form>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录成功</title>
</head>
<body>
<h1>成功连接数据库!登录成功!!!</h1>

</body>
</html>

数据库表结构

开始 测试:

点击登录:

 

简单的验证了交互 成功。

第一次写博客 诸多不足,或是考虑不周。大家多多担待。

如有错误请不吝指正。谢谢。


版权声明:本文为qq_36308742原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。