最详细,最易懂,一步一步执行搭建的框架~
话不多说,直接开始搭建吧~
目录
一、创建项目
二、修改结构以及创建具体内容
三、连接数据库,使用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中创建mappers文件来存放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: /demo11. 配置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); } }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表中,数据也插入了。