IDEA搭建Springboot+SpringMVC+Mybatis+Mysql(详细、易懂)

六月ゝ 毕业季﹏ 提交于 2020-08-10 18:15:44

最详细,最易懂,一步一步执行搭建的框架~

话不多说,直接开始搭建吧~

目录

 

一、创建项目 

二、修改结构以及创建具体内容

三、连接数据库,使用mybatis,以写上传用户信息的接口为例。

四、调用接口,上传数据


一、创建项目 

  1.点击创建新项目

      

  2.选择Spring Initializr     

   3.填写好项目的相关信息

  4.选择用到的依赖(也可以后期在pom.xml中添加)

  5.选择项目存放位置和设置项目名称

  6.创建成功后项目的初步结构

      

   7.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 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.3.1.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</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.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.1.3</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</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>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.35</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<version>2.3.1.RELEASE</version>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>


		<resources>
			<resource>
				<directory>src/main/</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.*</include>
				</includes>
			</resource>
		</resources>
	</build>

</project>

二、修改结构以及创建具体内容

   1.点击File -->  Project Structure..

  2.将main中java文件设为Sources,resources设为Resources,test中java设为Tests。

  3.创建controller、service、dao、entity包

  4.在resources中创建Mapper文件来存放mapper.xml配置文件

  5.创建mapper.xml配置文件:右键 --> New --> File

  6.填入配置文件名称 例如:UserMapper.xml

  8.默认的springboot配置文件application是.properties格式,我习惯用.yml格式,所以修改一下

  9.将properties替换为yml

  10.配置application.yml


spring:
       datasource:
         url: jdbc:mysql://localhost:3306/seven?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai
         username: root
         password: root
         driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  mapper-locations: classpath:/resources/mappers/*.xml
  type-aliases-package: com.example.demo.dao
server:
    port: 8080
    servlet:
          context-path: /demo

    11. 配置DemoApplication运行文件

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.dao")
//加上这句,运行项目时候要去扫描mybatis的接口文件
public class DemoApplication {

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

}

三、连接数据库,使用mybatis,以写上传用户信息的接口为例。

  1.数据库中创建user表。

  2.entity包中创建User实体类

package com.example.demo.entity;

public class User {
    private int    userID;     //用户ID
    private String userName;   //用户名
    private int    userAge;    //用户年龄

    public User() {
    }

    public User(int userID, String userName, int userAge) {
        this.userID = userID;
        this.userName = userName;
        this.userAge = userAge;
    }

    public int getUserID() {
        return userID;
    }

    public void setUserID(int userID) {
        this.userID = userID;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getUserAge() {
        return userAge;
    }

    public void setUserAge(int userAge) {
        this.userAge = userAge;
    }

    @Override
    public String toString() {
        return "User{" +
                "userID=" + userID +
                ", userName='" + userName + '\'' +
                ", userAge=" + userAge +
                '}';
    }
}

  3.配置文件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.demo.dao.UserMapper">

    <insert id="insertUserInfo" parameterType="com.example.demo.entity.User">
        INSERT  INTO user VALUES
        (#{userID,jdbcType=INTEGER},#{userName,jdbcType=VARCHAR},
		#{userAge,jdbcType=INTEGER})
    </insert>
</mapper>

  4.dao包中的UserMapper

package com.example.demo.dao;

import com.example.demo.entity.User;


public interface UserMapper {

    int insertUserInfo(User user);

}

  5.service中的UserService

package com.example.demo.service;
 
import com.example.demo.dao.UserMapper;
import com.example.demo.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


@Service
public class UserService {

    @Autowired(required = false)
    private UserMapper userMapper;

    public int AddUserInfo(int ID,String name,int age) {
        User user = new User();
        user.setUserID(ID);
        user.setUserName(name);
        user.setUserAge(age);
        int res = userMapper.insertUserInfo(user);
        if(res>0)return 1;  //上传成功
        else return 0;   //上传失败
    }
}

  6.controller中的UserController

package com.example.demo.controller;

import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
public class UserController {
    @Autowired
    private UserService userService;

    //上传用户信息
    @GetMapping("/AddUserInfo")
    @ResponseBody
    public int AddUserInfo(@RequestParam("userID")int userID,
                           @RequestParam("userName")String userName,
                           @RequestParam("userAge")int userAge){
        int res = userService.AddUserInfo(userID,userName,userAge);
        return res;
    }

}

四、调用接口,上传数据

http://localhost:8080/demo/AddUserInfo?userID=2016207158&userName=张玲玲&userAge=22

查看数据库user表中,数据也插入了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!