1.創建Springboot項目
開發工具我們采用IntelliJ IDEA,環境安裝不在敘述,如果對環境搭建不會的朋友,可以評論或私聊,本人后期在寫一章環境搭建,MySQL安裝的文章:
- 打開IntelliJ IDEA , new Project 或 File -> New -> Project... ;
- 選擇 Spring initializr ,選擇對應的Project SDK后 點擊Next ,如果Project SDK沒有可選項,請先安裝sdk,
如上圖所示 Group 修改為自己的報名,推薦為域名+項目名,比如** www.td0f7.cn.springboot01* * Artifact 為自己的項目名稱,英文可以下劃線比如spring_boot_demo type 為包管理方式,如果不了解這兩種推薦用默認的方式即可,不用修改 Lauguage 為開發語言,默認為JAVA,可自行修改 Packaging 為打包方式,本人習慣用war所以選擇war方式 Java Version 為開發語言的版本號,我本地java版本號是8,所以選擇8
改動完成,點擊 Next 出現第二個界面,在點擊下一步
Project Name是項目名稱,修改成自己的即可,默認是上個界面帶過來的,不用修改 Project location 為項目存儲路徑修改為自己的存儲路徑即可 點擊Firish,等待加載完成
2.項目結構介紹
如圖所示 根目錄下 pom.xml 是包管理,引入一些新的jar包都在這,修改springboot版本號,修改打包方式等等 src main java 是寫代碼的地方 SpringBootDemoApplication 是程序主入口 resources 存儲一些資源 application.properties 是配置文件,配置端口號,mysql,redis等等都在這里 static 是靜態資源,js css 圖片等 templates 放html界面
其他等教程用到在詳細解釋
3.引入mysql等包
由于新項目沒有引入任何包,所以要引入數據庫的包。 首先打開項目根目錄的 pom.xml 在內容 dependencies 節點下添加
<dependencies>
<!--新添加的-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
<!--項目自帶的-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
復制代碼
lombok為實體類工具包,可以自動添加get set方法 mysql 是鏈接mysql數據庫必須添加的包 org.mybatis.spring.boot 是mysql數據庫的封裝框架,更簡易的操作數據庫 gson 是對象轉json字符串的工具類
4.修改數據庫配置文件
打開項目根目錄 src -> main -> resources -> application.properties 文件
spring.datasource.url=jdbc:mysql://mysqlip:端口/數據庫名?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=true
spring.datasource.username=數據庫賬號
spring.datasource.password=數據庫密碼
復制代碼
如
spring.datasource.url=jdbc:mysql://127.0.0.1/springboot?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=true
spring.datasource.username=springboot
spring.datasource.password=wangzhong
復制代碼
mysql默認端口是3306,如果沒有修改過端口號,則spring.datasource.url=的端口號可以省略不寫
5.創建mysql數據庫user表
CREATE TABLE `springboot`.`user` ( `id` INT NOT NULL AUTO_INCREMENT , `user` VARCHAR(30) NOT NULL , `pass` VARCHAR(30) NOT NULL , PRIMARY KEY (`id`), UNIQUE `u_user` (`user`) ENGINE = MEMORY;
復制代碼
在mysql數據庫執行這段mysql語句添加user表 id 主鍵自增 user 登錄賬號,不重復 pass 登陸密碼
環境到這里就算完成了,接下來要寫代碼了
6.編寫代碼實現登陸接口
首先在 src main java 你的包 下 SpringBootDemoApplication 同級目錄下創建 mapper controller entity 三個包 mapper 存儲操作數據庫的代碼 controller 存儲api的代碼,前臺調用的api都是這個下的 entity 存儲數據庫對應的實體類
首先是entity包下創建User實體類文件
import lombok.Data;
//@Data 注釋會為我們自動給該實體類的屬性添加 get set方法,必須引用了lombok包才可以使用
@Data
public class User {
private int id;
private String user;
private String pass;
}
復制代碼
創建UserMapper,名稱一般為數據庫表名+Mapper,類型為interface
import org.Apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import www.td0f7.cn.springboot01.spring_boot_demo.entity.User;
//必須有這個注解,否則無法掃描到該mapper
@Mapper
public interface UserMapper {
/**
* @Select 代表查詢語句
* #{user} 代表 取該方法中 user參數
* @返回值 登陸是查詢,由于user登陸賬號是唯一的,所有返回類型是一個User對象而不是集合
*/
@Select("select * from user where user = #{user} and pass = #{pass}")
User login(String user, String pass);
}
復制代碼
創建UserController,給外部提供可調用的api
import com.google.gson.Gson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import www.td0f7.cn.springboot01.spring_boot_demo.entity.User;
import www.td0f7.cn.springboot01.spring_boot_demo.mapper.UserMapper;
@RestController//如果返回值為對象,則自動轉換成json
//@RequestMapping("user"),此注釋代表這個controller需要+user才可以訪問,如下
//我們啟動的網站都是http://localhost:8080,要訪問這個controller則是http://localhost:8080/user
@RequestMapping("user")
public class UserController {
@Autowired(required = false)//自動掃描mapper文件
private UserMapper mapper;
/**
* 該接口為post方式
*
* @param user 參數user默認值為空,不寫defaultValue為null
* @param pass
* @return
*/
@PostMapping("login")
public String login(@RequestParam(value = "user", defaultValue = "") String user,
@RequestParam(value = "pass", defaultValue = "") String pass) {
if (user.equals("")) return "賬號必傳";
if (pass.equals("")) return "密碼必傳";
User user1 = mapper.login(user, pass);
if (user1 == null) {//沒有查詢到數據,代表沒有此賬號
return "賬號密碼不正確!";
} else {
return new Gson().toJson(user1);//登陸成功則給對象轉json字符串返回
}
}
}
復制代碼
7.運行開始測試
數據庫添加數據
INSERT INTO `user`(`user`, `pass`) VALUES ('wz', '123456')
復制代碼
以上添加了賬號 wz 密碼 123456 的數據
接下來運行項目測試
使用postman測試