SpringBoot
它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须)的理念让你的项目快速运行起来。
它并不是什么新的框架,而是默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包一样,Spring Boot 整合了所有框架
回顾我们之前的 SSM 项目,搭建过程还是比较繁琐的,需要:
1)配置 web.xml,加载 spring 和 spring mvc
2)配置数据库连接、配置日志文件
3)配置家在配置文件的读取,开启注解
4)配置mapper文件
.....
而使用 Spring Boot 来开发项目则只需要非常少的几个配置就可以搭建起来一个 Web 项目,并且利用 IDEA 可以自动生成生成,这简直是太爽了...
划重点:简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。
mybatis-plus
Mybatis-Plus是Mybatis的增强工具包,其简化了CRUD操作,提供了代码生成器,强大的条件构造器,同时内置了多个实用插件:标配的分页插件、性能分析插件、全局拦截插件等。
### 第一步
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0
<parent style="box-sizing: border-box;"></parent>
<groupId>org.springframework.boot
<artifactId>spring-boot-starter-parent
<version>2.2.2.RELEASE
<relativePath/>
<groupId>com.springboot
<artifactId>demo
<version>0.0.1-SNAPSHOT
<name>demo
<description>Demo project for Spring Boot
<java.version>1.8
<groupId>org.springframework.boot
<artifactId>spring-boot-starter-data-jdbc
<groupId>org.springframework.boot
<artifactId>spring-boot-starter-web
<!--mysql驱动-->
<groupId>mysql
<artifactId>mysql-connector-java
<scope>runtime
<!--配置druid数据源-->
<groupId>com.alibaba
<artifactId>druid
<version>1.1.9
<groupId>org.projectlombok
<artifactId>lombok
<version>1.16.10
<!--阿里巴巴fastjson-->
<groupId>com.alibaba
<artifactId>fastjson
<version>1.2.4
<groupId>com.baomidou
<artifactId>mybatis-plus-boot-starter
<version>3.0.1
<groupId>org.springframework.boot
<artifactId>spring-boot-starter-test
<scope>test
<groupId>org.junit.vintage
<artifactId>junit-vintage-engine
<groupId>org.apache.velocity
<artifactId>velocity-tools
<version>2.0
<groupId>ch.qos.logback
<artifactId>logback-classic
<version>1.2.3
<groupId>org.springframework.boot
<artifactId>spring-boot-maven-plugin
pom.xml的配置文件信息
yml中的配置信息
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: root
driver-class-name:com.mysql.jdbc.Driver
platform: mysql
type:com.alibaba.druid.pool.DruidDataSource
server:
port:8080
创建MySQL数据库
建立学生实体类
package com.springboot.demo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.lang.*;
/**
* @Data 省去get、set方法
* @tableName value值填对用实体的表名
*/
@Data
@TableName(value = "test_base")
public class User {
@TableId(type = IdType.AUTO)
private Integer id;
private Integer baseId;
private String baseName;
private String baseAge;
}
建立dao层 userdao
package com.springboot.demo.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.springboot.demo.entity.User;
public interface UserDao extends BaseMapper<User> {
}
最后建立controller层 UserController
package com.springboot.demo.controller;
import com.alibaba.fastjson.JSONObject;
import com.springboot.demo.dao.UserDao;
import com.springboot.demo.entity.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @RestController @RestController注解相当于@ResponseBody + @Controller合在一起的作用
* @Resource 依赖注入
* @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上
*/
@RestController
public class UserController {
@Resource
UserDao userDao;
@RequestMapping("/user")
public JSONObject User(){
List<User> list = userDao.selectList(null);
JSONObject users = new JSONObject();
users.put("users",list);
return users;
}
}
最后 在springboot启动类加入
@MapperScan(value ="com.springboot.demo.dao")