【项目下载地址:https://download.csdn.net/download/qq_34584694/10953730】
【开发准备】
1.代码编辑器:IntelliJ IDEA 2018.2.2开发工具
2.数据库:MySQL
3.JDK版本:1.8(JDK配置过程看我另一篇博客:【JDK配置】https://blog.csdn.net/qq_34584694/article/details/79448222)
【项目新建】
1.打开IDEA新建工程
2.配置项目的基础信息
3.添加项目所需的依赖等信息
4.设置项目保存路径,最后Finish
这个时候我们项目基本上算是建好了,接下来进行配置和测试等操作,下面我们使用一个简单的用户登录的功能来测试我们的项目
【项目配置】
1.我们在数据库新建一个用户表并添加一条数据进去
2.使用三层架构的方式对我们刚刚新建的项目进行完善
3.配置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>
<!-- Springboot启动时所需要的父依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 配置项目的属性及其编码格式为UTF-8-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!-- 项目基本概述 -->
<groupId>com.cuc.springboot</groupId><!--包名-->
<artifactId>springboot</artifactId>
<version>0.0.1-SNAPSHOT</version><!--版本号-->
<packaging>jar</packaging>
<name>springboot</name> <!--项目名称-->
<description></description><!--项目描述-->
<!-- 项目开发所需要的jar文件 -->
<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>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--<scope>runtime</scope>--><!--注意,这个是被我注释掉了的-->
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</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-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4.接下来就是进行后台代码的编码工作了【代码很简单,就是一个简单的用户登录功能,就不进行逐一解释,】
【index.html】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<h1 align="center">登录</h1>
<form action="/login" method="post">
<p>账号:<input type="text" name="username"></p>
<p>密码:<input type="password" name="password"/></p>
<p><input type="submit" value="登录"></p>
</form>
</body>
</html>
【success.html】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录成功</title>
</head>
<body>
<h1>恭喜你,登录成功!!!</h1>
</body>
</html>
【failed.html】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录失败</title>
</head>
<body>
<h1>恭喜你,登录失败!!!</h1>
</body>
</html>
【控制层:UserController.java】
import com.cuc.springboot.springboot.domain.User;
import com.cuc.springboot.springboot.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class UserController {
//依赖注入
@Autowired
UserService userService;
@RequestMapping(value = "/login",method = RequestMethod.POST)
public String UserLogin(User user){
return userService.userLogin(user.getUsername(),user.getPassword());
}
}
【服务层:UserService.java】
package com.cuc.springboot.springboot.service;
import com.cuc.springboot.springboot.domain.User;
public interface UserService {
String userLogin(String username,String password);
}
【服务实现层:UserServiceImpl.java】
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
//依赖注入
@Autowired
UserMapper userMapper;
@Override
public String userLogin(String username, String password) {
User user = userMapper.userLogin(username, password);
if (user != null ){
return "success";
}
return "failed";
}
}
【dao层:UserMapper.java】
package com.cuc.springboot.springboot.dao;
import com.cuc.springboot.springboot.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface UserMapper {
User userLogin(String username,String password);
}
【dao实现层:UserMapper.xml】
<?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.cuc.springboot.springboot.dao.UserMapper">
<select id="userLogin" resultType="User">
SELECT * FROM t_user WHERE username = #{param1} AND password = #{param2}
</select>
</mapper>
【实体类:User.java】
package com.cuc.springboot.springboot.domain;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
public class User implements Serializable {
private Integer uid;
private String username;
private String password;
public Integer getId() {
return uid;
}
public void setId(Integer id) {
this.uid = 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;
}
@Override
public String toString() {
return "User{" +
"id=" + uid +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
【SpringBoot启动类:SpringbootApplication.java】
package com.cuc.springboot.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication //声明启动类
@EnableTransactionManagement //开启事务管理
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
【application.properties】
####配置数据库信息(端口号,数据库名,数据库账号密码根据自己的实际情况去配置)
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database=mysql
####配置mybatis扫描
mybatis.mapper-locations=classpath*:mapper/*.xml
####起别名,就可以省略在mapper文件中的resultType的全路径
mybatis.type-aliases-package=com.cuc.springboot.springboot.domain
【项目测试】
1.运行SpringbootApplication.java文件中的主函数
2.在浏览器的地址栏输入localhost:8080
输入账号密码进行测试:
【登录成功】
【登录失败】