最详细,最易懂,一步一步执行搭建的框架~
话不多说,直接开始搭建吧~
目录
三、连接数据库,使用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表中,数据也插入了。
来源:oschina
链接:https://my.oschina.net/u/4335287/blog/4334846