开发环境说明:
idea2017.2.6
jdk8
maven3.5
绿色版mysql+绿色版mysql客户端
1、idea创建springboot
2、点击直接生成pow.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>htt.wave</groupId>
<artifactId>notification</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>notification</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.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-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3、一次编写model、service、cotroller包下的java文件
Admin.java
package htt.wave.notification.model;
import java.util.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 + "]";
}
}
4、service的代码
package htt.wave.notification.service;
import java.util.List;
import htt.wave.notification.model.Admin;
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;
@Mapper
public interface AdminService {
@Select("SELECT * FROM `boottest`.`admin` where userName = #{userName} and password = #{password} and state = 0;")
Admin findByNameAndPassword(Admin admin);
@Select("SELECT * FROM `boottest`.`admin` where userName = #{userName} and password = #{password} and realName = #{realName}")
List<Admin> findByAdminWithPage(Admin admin, int start, int end);
@Insert("INSERT INTO `boottest`.`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 `boottest`.`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 `boottest`.`admin` WHERE id = #{id}")
int deleteById(int id);
}
5、cotroller的代码
package htt.wave.notification.cotroller;
import htt.wave.notification.model.Admin;
import htt.wave.notification.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/admin")
public class AdminController {
@Autowired
private AdminService service;
@RequestMapping("login")
public Admin page1(Admin admin) {
return service.findByNameAndPassword(admin);
}
}
6、application.properties的配置
spring.datasource.url=jdbc:mysql://localhost:3306/boottest?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
7、mysql数据库的配置
8、接口访问:http://localhost:8080/login?userName=huitao&password=123456
到此springboot的配置基本完成