Java springboot接口迅速上手,帶你半小時極速入門
如何通過springboot來寫一個簡單的接口?
想要知道怎么寫可能只需要幾步,半小時足矣
本篇文章只是教大家如何快速地使用。
但是具體是為什么這樣用?以及背后的原理,請大家先認(rèn)真學(xué)習(xí)javaweb-servlet-ssm框架等等,這里就不做過多的講解。
前期準(zhǔn)備:
首先在idea中新建項目:
new project-spring initializr一路next(如有需要修改的信息,也可以自己修改,不重要)
注意,這里要記得選上,作用是在初始化的時候,需要那些東西idea就幫你初始化進(jìn)去(當(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)備一個student表:
接著,把src\main\resources中的application.properties文件改名成application.yml,這是因為yml文件的結(jié)構(gòu)比較清晰,好看易懂
application.yml文件是一個配置文件,作用是可以配置一些數(shù)據(jù)庫信息,他來告訴springboot我們的數(shù)據(jù)庫賬號密碼呀,表名是啥等等。
以下是我的application.yml,你們可以根據(jù)自己的實際情況修改對應(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
驗證先前配置是否成功:點(diǎn)開src\main\java\com\wzy\demo\DemoApplication.java
點(diǎn)擊箭頭所指的運(yùn)行按鈕:
若控制臺出現(xiàn):
并且在瀏覽器中輸入http://localhost:8081/會出現(xiàn):
則代表配置成功
步驟一:建立實體類,需要跟數(shù)據(jù)庫表字段保持一致
在src\main\java\com\wzy\demo目錄下新建一個名為entity包
再在entity包下,新建一個名為Student的class,這個Student即為實體類,該實體類即對應(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ù)庫的動作
操作的數(shù)據(jù)庫的動作比如:查詢、更新、刪除等等
這些動作就是mapper
在src\main\java\com\wzy\demo目錄下新建一個名為mapper包
再在mapper包下,新建一個接口StudentMapper
又因為,數(shù)據(jù)庫中的一行數(shù)據(jù)就對應(yīng)著一個對象
這里假設(shè),我們想要找到所有的學(xué)生信息。
@Mapper public interface StudentMapper { List<Student> findAllStudent(); }
步驟三:建立mapper的xml文件,寫具體的sql語句
再在resources目錄下建立一個名為mapper的包,并且在mapper的包下新建一個名為StudentMapper.xml的文件。這個文件就是告訴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就是指向哪一個mapper
id是mapper里面的方法名,resultType就是返回的類型
這里與前文中application.yml的mapper-locations相對應(yīng)
步驟四:建立service類,處理業(yè)務(wù)邏輯
步驟三已經(jīng)得到了數(shù)據(jù)了,但是展示給前端時,需要根據(jù)自己的業(yè)務(wù)邏輯對數(shù)據(jù)進(jìn)行進(jìn)一步的加工,所以這里在src\main\java\com\wzy\demo下建立service包,并且在service包中,新建一個StudentService類,此類的作用是處理相應(yīng)的業(yè)務(wù)邏輯
//@Service的意思是將其實例化, //之前如果有一個class,是不是需要new一個對象才可以用, //這里就可以理解成會自動幫你new,new完了之后,將實例加到了spring容器當(dāng)中 @Service public class StudentService { //引進(jìn)StudentMapper,@Autowired的意思就是將其實例化,通過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包中,新建一個StudentController類,此類的作用是將信息傳到前端,就是負(fù)責(zé)給瀏覽器返回相應(yīng)的數(shù)據(jù)。
//@RestController會自動幫一個對象轉(zhuǎn)換成json的格式 @RestController public class StudentController { @Autowired private StudentService studentService; //@RequestMapping("/getstudent")的意思告訴前端相應(yīng)的地址訪問 @RequestMapping("/getstudent") public List<Student> getStudent(){ return studentService.findAllStudent(); } }
驗證
瀏覽器輸入:http://localhost:8081/getstudent
出現(xiàn)數(shù)據(jù)庫相關(guān)信息,試驗成功
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
SpringBoot實現(xiàn)RabbitMQ三種使用方式
本文主要介紹了SpringBoot實現(xiàn)RabbitMQ三種使用方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Intellij IDEA基于Springboot的遠(yuǎn)程調(diào)試(圖文)
這篇文章主要介紹了Intellij IDEA基于Springboot的遠(yuǎn)程調(diào)試(圖文),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10SpringBoot整合MQTT并實現(xiàn)異步線程調(diào)用的問題
這篇文章主要介紹了基于SpringBoot通過注解實現(xiàn)對mqtt消息處理的異步調(diào)用,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-11-11JDBC的基本操作與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