點擊New Project建立一個新的項目
選擇Spring Initializr建立spring boot項目,其中須要選擇jdk(Java Development ToolKit,是Java語言開發工具包)的版本,其他的選項默認。
點擊next。
前端
點擊next會出現這個界面,Group爲項目域,Artifact爲項目名。java
例如,圖示中,com.example,爲example示例的域名,demo爲示範項目名稱。
因爲個人jdk版本爲1.8,因此java version(java版本)選擇8。其餘的默認便可。
點擊next
mysql
選擇項目存儲目錄,點擊Finish。
web
//MySQL驅動 spring.datasource.driverClassName=com.mysql.jdbc.Driver //MySQL地址,其中須要填寫ip地址,如如果本地則填寫localhost,如若爲服務器,則填寫服務器的ip地址。 //MySQL端口爲3306 //填寫數據庫名稱。 spring.datasource.url=jdbc:mysql://ip地址:3306/數據庫名?characterEncoding=utf8&serverTimezone=UTC&rewriteBatchedStatements=true //數據庫的登陸用戶名 spring.datasource.username=root //登陸密碼 spring.datasource.password=root //springboot運行端口爲8888,默認通常爲8080,能夠本身選擇。 server.port=8888
在項目名稱下新建四個包。面試
(三)、建立對應的代碼spring
在實際開發者,controller是進行先後端交互的,後端給前端提供相對應的接口,controller層調用service層,service調用dao層對數據庫進行查詢,把數據儲存到bean包下的user對象中。例如:
UserController——>UserService——>UserServiceImpl實現UserService中的方法——>UserMapper查詢數據
最後將查詢到的數據,new一個User來存放數據。
sql
package com.example.demo.bean; /** * @author tth * @date 2021/4/4 */ //對應數據庫中的id、name、age、gender。 public class User { private Long id; private String name; private Integer age; private String gender; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }
package com.example.demo.dao; import com.example.demo.bean.User; import org.apache.ibatis.annotations.Select; import java.util.List; /** * @author tth * @date 2021/4/4 */ //使用註解方式進行數據庫數據的查詢,注意看是否引入org.apache.ibatis.annotations.Select包 public interface UserMapper { @Select("select * from test_user") List<User> query(); }
package com.example.demo.service; import com.example.demo.bean.User; import java.util.List; /** * @author tth * @date 2021/4/4 */ public interface UserService { //業務方法聲明 List<User> query(); }
package com.example.demo.service.Impl; import com.example.demo.bean.User; import com.example.demo.dao.UserMapper; import com.example.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * @author tth * @date 2021/4/4 */ //UserService的具體實現類,記得加上@Service註解,不然會報錯。 @Service public class UserServiceImpl implements UserService { //調用UserMapper查詢數據 //@Resource或者@Autowired註解均可 @Resource @Autowired private UserMapper userMapper; @Override public List<User> query() { //調用UserMapper中的query方法,返回一個List,類型爲User,爲了代碼簡潔,就不須要定義中間變量。 //如:List<User> user = userMapper.query(); // return user; return userMapper.query(); } }
package com.example.demo.web.controller; import com.example.demo.bean.User; import com.example.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author tth * @date 2021/4/4 */ @RestController @RequestMapping("/User") public class UserController { @Autowired private UserService userService; //代表這是一個get類型的請求,其他的還有post、delete等。 @GetMapping("query") public List<User> query(){ return userService.query(); } }
注意!注意!注意!
咱們還須要在DemoApplication加上一個註解@MapperScan,不然項目仍是會報錯。或者使用一個mybatis註解類。數據庫
package com.example.demo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; //這個註解很是重要,須要讓springboot知道你的mapper文件存放在哪一個目錄下 @MapperScan("com.example.demo.dao") @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
右擊DemoApplication文件,點擊Run 「DemoApplication」 以運行項目。
apache
運行成功後,打開瀏覽器,輸入http://localhost:8888/User/query 其中
http爲協議,
localhost爲本地ip,
8888爲運行端口,
User爲controller層的@RequestMapping括號後的字符串,就至關於根目錄同樣,
query爲controller層的@GetMapping括號後的字符串,至關於根目錄下的query方法
後端
在文章的最後做者爲你們整理了不少資料!包括java核心知識點+全套架構師學習資料和視頻+一線大廠面試寶典+面試簡歷模板+阿里美團網易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring源碼合集+Java架構實戰電子書等等!有須要的朋友歡迎關注公衆號:前程有光,領取