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.java.springboot</groupId>
<artifactId>springboot-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>springboot-demo Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<!-- Spingboot相关jar包版本 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- web开发包:包含Tomcat和Springmvc -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- thymeleaf模板引擎 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- springboot与mybatis的整合包-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
</dependencies>
</project>
application.yml配置文件
SpringBoot会自动加载spring.datasource.*相关配置,数据源就会自动注入sqlSessionFactory,sqlSessionFactory会自动注入Mapper,这样就可以直接使用了
#设置访问端口
server:
port: 8080
#设置数据库连接
spring:
datasource:
url: jdbc:mysql://localhost:3306/student?useSSL=false
driver-class-name: com.mysql.jdbc.Driver
username: 用户名
password: 密码
initial-size: 10
max-active: 20
max-idle: 8
min-idle: 8
#设置静态资源访问
resources:
static-locations: classpath:static/
#thymeleaf模板引擎
thymeleaf:
prefix: classpath:/templates/
suffix: .html
mode: HTML5
encoding: UTF-8
content-type: text/html
cache: false
#mybatis配置
mybatis:
mapper-locations: classpath:mapping/*.xml
type-aliases-package: com.java.springboot.bean
#log日志
logging:
level:
com:
example:
mapper : debug
创建数据库表
自己存数据即可
CREATE TABLE `stus` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
新建实体类(entity)
package com.java.springboot.entity;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int 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;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
新建映射接口(mapper)
package com.java.springboot.mapper;
import com.java.springboot.bean.User;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author Woo_home
* @create by 2019/8/12
*/
@Repository
public interface UserMapper {
/*
* 根据用户id查询用户
*/
User select(int id);
/*
*查询所有用户
*/
List<User> userList();
}
新建业务层(service)
和mapper一样即可
package com.java.springboot.service;
import com.java.springboot.entity.User;
public interface UserService {
User findUserById(int id);
}
实现service接口
package com.java.springboot.server;
import com.java.springboot.bean.User;
import com.java.springboot.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Woo_home
* @create by 2019/8/12
*/
@Service
public class UserService {
@Autowired
private UserMapper userMapper; //注入UserMapper
public User select(int id){
return userMapper.select(id);
}
public List<User> userList(){
return userMapper.userList();
}
}
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.java.springboot.mapper.UserMapper">
<select id="select" resultType="com.java.springboot.bean.User">
select * from stus where id = #{id}
</select>
<select id="userList" resultType="com.java.springboot.bean.User">
select * from stus
</select>
</mapper>
控制器(controller)
package com.java.springboot.controller;
import com.java.springboot.bean.User;
import com.java.springboot.server.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* @author Woo_home
* @create by 2019/8/12
*/
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/index")
@ResponseBody
public String index(){
return "Hello Springboot";
}
@RequestMapping("select/{id}")
@ResponseBody
public String save(@PathVariable int id){
return userService.select(id).toString();
}
@RequestMapping("/userList")
public String userList(Model model){
List<User> users = userService.userList();
model.addAttribute("users",users);
return "user";
}
}
html代码
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link href="/css/bootstrap.css" rel="stylesheet">
</head>
<body>
<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Username</th>
<th>Password</th>
</tr>
</thead>
<tbody>
<tr th:each="users:${users}">
<td th:text="${users.id}"></td>
<td th:text="${users.username}"></td>
<td th:text="${users.password}"></td>
</tr>
</tbody>
</table>
</body>
</html>
在浏览器输入
localhost:8080/index
localhost:8080/select/?
localhost:8080/userList
都可以访问到内容