Java springboot接口迅速上手,帶你半小時(shí)極速入門
如何通過springboot來寫一個(gè)簡單的接口?
想要知道怎么寫可能只需要幾步,半小時(shí)足矣
本篇文章只是教大家如何快速地使用。
但是具體是為什么這樣用?以及背后的原理,請(qǐng)大家先認(rèn)真學(xué)習(xí)javaweb-servlet-ssm框架等等,這里就不做過多的講解。
前期準(zhǔn)備:
首先在idea中新建項(xiàng)目:
new project-spring initializr一路next(如有需要修改的信息,也可以自己修改,不重要)


注意,這里要記得選上,作用是在初始化的時(shí)候,需要那些東西idea就幫你初始化進(jìn)去(當(dāng)然,后期也能自己手動(dòng)加,但是這里為了方便學(xué)習(xí),還是該選的都選上)
- developer tools —spring boot devtools

- web —spring web

- SQL—jdbc api—mysql driver —mybatis framework

最后選完了,確保,右邊欄selected dependencies為如下:

再一路next。。等待加載完成
再在MySQL數(shù)據(jù)庫中準(zhǔn)備一個(gè)student表:

接著,把src\main\resources中的application.properties文件改名成application.yml,這是因?yàn)閥ml文件的結(jié)構(gòu)比較清晰,好看易懂
application.yml文件是一個(gè)配置文件,作用是可以配置一些數(shù)據(jù)庫信息,他來告訴springboot我們的數(shù)據(jù)庫賬號(hào)密碼呀,表名是啥等等。


以下是我的application.yml,你們可以根據(jù)自己的實(shí)際情況修改對(duì)應(yīng)的信息:
server:
port: 8081
spring:
#數(shù)據(jù)庫連接配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/dt55?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root
password: 888888
#mybatis的相關(guān)配置
mybatis:
#mapper配置文件
mapper-locations: classpath:mapper/*.xml
驗(yàn)證先前配置是否成功:點(diǎn)開src\main\java\com\wzy\demo\DemoApplication.java
點(diǎn)擊箭頭所指的運(yùn)行按鈕:

若控制臺(tái)出現(xiàn):

并且在瀏覽器中輸入http://localhost:8081/會(huì)出現(xiàn):

則代表配置成功
步驟一:建立實(shí)體類,需要跟數(shù)據(jù)庫表字段保持一致
在src\main\java\com\wzy\demo目錄下新建一個(gè)名為entity包

再在entity包下,新建一個(gè)名為Student的class,這個(gè)Student即為實(shí)體類,該實(shí)體類即對(duì)應(yīng)數(shù)據(jù)庫中的表,類中的屬性與數(shù)據(jù)庫字段保持一致,并且加上構(gòu)造函數(shù)以及get、set方法:
public class Student {
private int id;
private String name;
private int age;
private String hobby;
private String address;
public Student(int id, String name, int age, String hobby, String address) {
this.id = id;
this.name = name;
this.age = age;
this.hobby = hobby;
this.address = address;
}
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 getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
步驟二:建立mapper接口,定義要操作的數(shù)據(jù)庫的動(dòng)作
操作的數(shù)據(jù)庫的動(dòng)作比如:查詢、更新、刪除等等
這些動(dòng)作就是mapper
在src\main\java\com\wzy\demo目錄下新建一個(gè)名為mapper包

再在mapper包下,新建一個(gè)接口StudentMapper
又因?yàn)椋瑪?shù)據(jù)庫中的一行數(shù)據(jù)就對(duì)應(yīng)著一個(gè)對(duì)象

這里假設(shè),我們想要找到所有的學(xué)生信息。
@Mapper
public interface StudentMapper {
List<Student> findAllStudent();
}
步驟三:建立mapper的xml文件,寫具體的sql語句
再在resources目錄下建立一個(gè)名為mapper的包,并且在mapper的包下新建一個(gè)名為StudentMapper.xml的文件。這個(gè)文件就是告訴java具體要寫哪些sql語句。

<?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.wzy.demo.mapper.StudentMapper">
<select id="findAllStudent" resultType="com.wzy.demo.entity.Student">
SELECT * FROM student
</select>
</mapper>
注意,這里的namespace就是指向哪一個(gè)mapper
id是mapper里面的方法名,resultType就是返回的類型
這里與前文中application.yml的mapper-locations相對(duì)應(yīng)

步驟四:建立service類,處理業(yè)務(wù)邏輯
步驟三已經(jīng)得到了數(shù)據(jù)了,但是展示給前端時(shí),需要根據(jù)自己的業(yè)務(wù)邏輯對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的加工,所以這里在src\main\java\com\wzy\demo下建立service包,并且在service包中,新建一個(gè)StudentService類,此類的作用是處理相應(yīng)的業(yè)務(wù)邏輯
//@Service的意思是將其實(shí)例化,
//之前如果有一個(gè)class,是不是需要new一個(gè)對(duì)象才可以用,
//這里就可以理解成會(huì)自動(dòng)幫你new,new完了之后,將實(shí)例加到了spring容器當(dāng)中
@Service
public class StudentService {
//引進(jìn)StudentMapper,@Autowired的意思就是將其實(shí)例化,通過autowired從spring容器中拿出來,供我們使用
@Autowired
private StudentMapper studentMapper;
//處理業(yè)務(wù)邏輯,這里由于業(yè)務(wù)過于簡單,就空著,查詢出什么我就返回什么
public List<Student> findAllStudent() {
return studentMapper.findAllStudent();
}
}
步驟五:在controller類中展示處理結(jié)果
在src\main\java\com\wzy\demo下建立controller包,并且在controller包中,新建一個(gè)StudentController類,此類的作用是將信息傳到前端,就是負(fù)責(zé)給瀏覽器返回相應(yīng)的數(shù)據(jù)。
//@RestController會(huì)自動(dòng)幫一個(gè)對(duì)象轉(zhuǎn)換成json的格式
@RestController
public class StudentController {
@Autowired
private StudentService studentService;
//@RequestMapping("/getstudent")的意思告訴前端相應(yīng)的地址訪問
@RequestMapping("/getstudent")
public List<Student> getStudent(){
return studentService.findAllStudent();
}
}
驗(yàn)證
瀏覽器輸入:http://localhost:8081/getstudent
出現(xiàn)數(shù)據(jù)庫相關(guān)信息,試驗(yàn)成功

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
SpringBoot實(shí)現(xiàn)RabbitMQ三種使用方式
本文主要介紹了SpringBoot實(shí)現(xiàn)RabbitMQ三種使用方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Intellij IDEA基于Springboot的遠(yuǎn)程調(diào)試(圖文)
這篇文章主要介紹了Intellij IDEA基于Springboot的遠(yuǎn)程調(diào)試(圖文),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
SpringBoot整合MQTT并實(shí)現(xiàn)異步線程調(diào)用的問題
這篇文章主要介紹了基于SpringBoot通過注解實(shí)現(xiàn)對(duì)mqtt消息處理的異步調(diào)用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
JDBC的基本操作與Statement和PreparedStateMent使用區(qū)別分析
這篇文章主要介紹了JDBC的基本操作與Statement和PreparedStateMent使用區(qū)別,Java Database Connectivity,它是代表一組獨(dú)立于任何數(shù)據(jù)庫管理系統(tǒng)(DBMS)的API,聲明在java.sql與javax.sql包中,是SUN(現(xiàn)在Oracle)提供的一組接口規(guī)范2023-04-04
Java實(shí)現(xiàn)字符數(shù)組全排列的方法
這篇文章主要介紹了Java實(shí)現(xiàn)字符數(shù)組全排列的方法,涉及Java針對(duì)字符數(shù)組的遍歷及排序算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-12-12

