如何使用Spring Boot一步一步搭建一個(gè)Web的基礎(chǔ)工程……
安裝Mysql
官方下載地址:https://dev.mysql.com/downloads/windows/ 自己去下載安裝就行了函卒。
新建數(shù)據(jù)庫moxi和管理員表admin
工程加載Mybatis和Mysql的依賴
修改pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.moxi</groupId>
<artifactId>moxi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>moxi</name>
<description>mox</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
或者在新建工程的時(shí)候直接勾選mybatis和mysql
建Model、Service和Controller
新建package:model
有缆,新建Admin類:
package com.moxi.model;
import java.sql.Date;
public class Admin {
private long id;
private String userName;
private String password;
private int age;
private String phoneNumber;
private String headPicture;
private Date addDate;
private Date updateDate;
private int state;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getHeadPicture() {
return headPicture;
}
public void setHeadPicture(String headPicture) {
this.headPicture = headPicture;
}
public Date getAddDate() {
return addDate;
}
public void setAddDate(Date addDate) {
this.addDate = addDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
@Override
public String toString() {
return "Admin [id=" + id + ", userName=" + userName + ", password=" + password + ", age=" + age
+ ", phoneNumber=" + phoneNumber + ", headPicture=" + headPicture + ", addDate=" + addDate
+ ", updateDate=" + updateDate + ", state=" + state + "]";
}
}
新建package:service
,新建AdminService類:
package com.moxi.service;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.moxi.model.Admin;
@Mapper
public interface AdminService {
@Select("SELECT * FROM `moxi`.`admin` where userName = #{userName} and password = #{password} and state = 0;")
Admin findByNameAndPassword(Admin admin);
@Select("SELECT * FROM `moxi`.`admin` where userName = #{userName} and password = #{password} and realName = #{realName}")
List<Admin> findByAdminWithPage(Admin admin, int start, int end);
@Insert("INSERT INTO `moxi`.`admin` (`id`, `userName`, `password`, `realName`, `age`, `phoneNumber`, `headPicture`, `addDate`, `updateDate`, `state`) VALUES (null, #{userName}, #{password}, #{realName}, #{age}, #{phoneNumber}, #{headPicture}, now(), now(), 0);")
int insert(Admin admin);
@Update("UPDATE `moxi`.`admin` SET `userName` = #{userName}, `password` = #{password}, `realName` = #{realName}, `age` = #{age}, `phoneNumber` = #{phoneNumber}, `headPicture` = #{headPicture}, `updateDate` = now(), `state` = #{state} WHERE `id` = #{id};")
int updateStateById(int id);
@Delete("DELETE FROM `moxi`.`admin` WHERE id = #{id}")
int deleteById(int id);
}
在application.properties
文件中添加數(shù)據(jù)源配置:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/moxi?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=Shu1shu2
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
新建package:controller
,新建AdminController類:
package com.moxi.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.moxi.model.Admin;
import com.moxi.service.AdminService;
@RestController
@RequestMapping("/admin")
public class AdminController {
@Autowired
private AdminService service;
@RequestMapping("login")
public Admin page1(Admin admin) {
return service.findByNameAndPassword(admin);
}
}
運(yùn)行工程
訪問頁面:http://localhost:8080/admin/login?userName=admin&password=123456
數(shù)據(jù)庫連接成功?狻c究摇!
項(xiàng)目地址
https://github.com/daleiwang/moxi
Spring Boot(1)工具安裝:
http://www.reibang.com/p/fb6ed37c90eb
Spring Boot(2)新建Spring Boot工程
http://www.reibang.com/p/00fd73f515f6
Spring Boot(3)整合Mybatis
http://www.reibang.com/p/8401e9304fa0
Spring Boot(4)整合thymeleaf
http://www.reibang.com/p/8d2cc7207fb2
Spring Boot(5)一個(gè)極簡且完整的后臺(tái)框架
http://www.reibang.com/p/923d26d705ed
Spring Boot(6)jar方式打包發(fā)布
http://www.reibang.com/p/9cf6faa8595e
Spring Boot(7)war方式打包發(fā)布