初始化
新建项目
(1)使用 idea 的过程,新建project,左侧选 spring initializr
,点next
(2)选 8 版本,点next
(3)左侧选择web,勾选上spring web,点next,起名之后点finish,项目创建完毕
写配置
找到src - main - resources - application.properties
文件,重命名将后缀改为 application.yml
,写如下配置:
server:
port: 8080
spring:
# 数据库连接配置
datasource:
driver-class-name: com.mysql.jdbc.driver
# 127.0.0.1:3306/后的spring_test为数据库名,修改为自己的数据库名
url: jdbc:mysql://127.0.0.1:3306/spring_test?characterencoding=utf-8&usessl=false&servertimezone=utc
# 修改为自己数据库的用户名和密码
username: root
password: 123456
# mybatis相关配置
mybatis:
# mybatis配置文件
mapper-locations: classpath:mapper/*.xml
数据库
数据库为:spring_test
,新建表person
,数据如下
gender为性别字段,0为女,1为男
id | name | gender | hobby |
---|---|---|---|
1 | 张三 | 1 | 踢足球,跑步 |
2 | 李四 | 0 | 追剧,做美甲 |
3 | 王五 | 1 | 开黑,吃烧烤 |
4 | 赵六 | 0 | 刷段子,做美食 |
初始化完成,写代码
一、model
src/main/java/com.example
下新建 model
包,model
下新建类,跟数据库字段保持一致,如:
person.java
package com.example.model;
public class person {
private int id;
private string name;
private int gender; // 0为女,1为男
private string hobby;
public person() {
}
public person(int id, string name, int gender, string hobby) {
this.id = id;
this.name = name;
this.gender = gender;
this.hobby = hobby;
}
public int getid() {
return id;
}
public void setid(int id) {
this.id = id;
}
public string getname() {
return name;
}
public void setname(string name) {
this.name = name;
}
public int getgender() {
return gender;
}
public void setgender(int gender) {
this.gender = gender;
}
public string gethobby() {
return hobby;
}
public void sethobby(string hobby) {
this.hobby = hobby;
}
@override
public string tostring() {
return "person{"
"id=" id
", name='" name '\''
", gender=" gender
", hobby='" hobby '\''
'}';
}
}
二、mapper
src/main/java/com.example
下新建 mapper
包。mapper
包是处理动作,操作,更新/删除/插入/查询等,在包下新建一个 interface
接口,如
personmapper.java
package com.example.mapper;
import com.example.model.person;
import java.util.list;
@mapper // 加注解,必须
public interface personmapper {
list findall();
}
三、mapper.xml
在src/main/resources
下新建mapper
文件夹,这里写具体的sql语句,新建file,如
personmapper.xml
如果第2行的路径
http://mybatis.org/dtd/mybatis-3-mapper.dtd
爆红,说明mybatis没引进来,在pom.xml中引入即可。引入代码如下
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.1.2
四、service
src/main/java/com.example
下新建 service
包,这是业务逻辑层,对数据过滤、处理等等;这里我不写详细的业务逻辑,只是模拟一下service层的使用,如
personservice.java
package com.example.service;
import com.example.mapper.personmapper;
import com.example.model.person;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.service;
import java.util.list;
@service
public class personservice {
// 这个service的操作为从personmapper中接过findall()数据在return出去
@autowired
private personmapper personmapper;
public list findall(){
return personmapper.findall();
}
}
五、controller
src/main/java/com.example
下新建 controller
包,controller
层为最终前端访问的接口实现层,在这里进行增删改查的 restful
接口的编写,如
personcontroller.java
package com.example.controller;
import com.example.model.person;
import com.example.service.personservice;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.web.bind.annotation.crossorigin;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
import java.util.list;
@crossorigin(origins = "*") // 表示该类方法允许跨域
@restcontroller
public class personcontroller {
@autowired // 这里拿到处理完业务逻辑的personservice的数据
private personservice personservice;
// 获取所有人的信息
@requestmapping("getperson")
public list getperson(){
return personservice.findall();
}
}
项目目录
展示的为 src/java/main
下的目录及文件
├─java
│ └─com
│ └─example
│ │ application.java ------------------- 程序入口,main方法在此编写
│ │
│ ├─controller --------------------------- 控制层,用来实现接口的地方
│ │ personcontroller.java
│ │
│ ├─mapper ----------------------------- 动作,操作,更新/删除/插入/查询等
│ │ personmapper.java
│ │
│ ├─model ------------------------------- 实体类层,又叫 bean | entity | pojo
│ │ person.java
│ │
│ └─service ------------------------------ 业务逻辑层,对数据过滤、处理等等
│ personservice.java
│
└─resources
│ application.yml -------------------------- springboot
配置文件
│
├─mapper ------------------------------------ 写具体sql语句的地方
│ personmapper.xml
│
└─ ......
访问成功
到此,浏览器已经出现数据