Java项目实战跟练day1——springboot + mybatis plus开发
- 开发环境搭建
第一步: 建数据库,建数据表
方法一:navicat premium直接新建
方法二:Mysql命令行新建reggie数据库
第二步:导入数据表结构
选中要执行的sql文件,运行后刷新即可
方法一:navicat premium直接在对应数据库下进行操作
方法二:MySQL命令行执行脚本文件
刷新后可见:
2. maven项目搭建
第一步:new–>project–>name\path–>finish
第二步:检查项目jdk和maven配置
第三步:完成项目配置文件pom.xml和application.yml
①pom.xml文件会随项目创建而生成,修改配置即可。
问题:当不同项目需要引入同一个依赖时,如果在各自pom中分别引入,则需要操作多次且依赖发生变化时需要各项目同步修改。
解决手段:parent标签声明一个父类项目,即创建一个parent项目,打包类型为pom,parent项目中不存放任何代码,只是管理多个项目之间公共的依赖。在parent项目的pom文件中定义对某个jar包的依赖,其子项目中只需要定义,parent标签中写上parent项目的pom坐标就可以引用到上述依赖了。
声明该项目的jdk版本
引入项目所需依赖和插件配置
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</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-starter-web</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.5</version>
</plugin>
</plugins>
</build>
②application.yml文件
server:
port: 8080
spring:
application:
#应用的名称,可以自定义
name: reggie_take_out
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: root
mybatis-plus:
configuration:
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
id-type: ASSIGN_ID
第四步:编写启动类,模拟项目启动
启动类文件如下:
package com.practice.reggie;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* ClassName:ReggieApplication
* Description:
*
* @Author:Hyt
* @Create:2024/1/22 15:41
* @Version 1.0
*/
@Slf4j
@SpringBootApplication
public class ReggieApplication {
public static void main(String[] args) {
SpringApplication.run(ReggieApplication.class,args);
log.info("项目启动成功-------------");
}
}
利用slf4j可以控制台输出日志信息:项目启动成功
第五步:引入现成的前端资源,编写静态资源配置文件
编写WebMvcConfig文件确保静态资源能够正常访问:
WebMvcConfig如下:
package com.practice.reggie.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
/**
* ClassName:WebMvcConfig
* Description:
*
* @Author:Hyt
* @Create:2024/1/22 15:57
* @Version 1.0
*/
@Configuration
@Slf4j
public class WebMvcConfig extends WebMvcConfigurationSupport {
/*
设置静态资源映射:即从浏览器发送请求,可映射到本项目中的resources下的对应页面
*/
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
//"classpath:/backend/"中的classpath指的是resources
log.info("开始进行静态资源映射........");
registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");
registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");
}
}
启动项目控制台输出:开始进行静态资源映射…即配置成功