儲存資料
<?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>org.example</groupId>
<artifactId>Product3_5</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mp代碼生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!-- 添加 模闆引擎 依賴 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
- 在resources下建立yml檔案,名稱一定是application,即application.yml
#配置web伺服器的預設端口号,預設是8080,*******這個端口會在webstrom中應用********
server:
port: 8090
#配置資料源,druid加快連接配接,提高性能
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://192.168.1.138:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai
type: com.alibaba.druid.pool.DruidDataSource
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
#讀取我們操作映射的檔案
mybatis-plus:
mapper-location: classpath*:com/product/xml/mapper/**Mapper.xml
package com.product;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.product.mapper")
public class AppStart {
public static void main(String[] args) {
SpringApplication.run (AppStart.class,args);
}
}
package com.demo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.product.AppStart;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest(classes = AppStart.class)
public class Coder {
@Test
public void genCoder(){
// Step1:代碼生成器
AutoGenerator mpg = new AutoGenerator();
// Step2:全局配置
GlobalConfig gc = new GlobalConfig();
// 填寫代碼生成的目錄(需要修改)
String projectPath = "C:\\Users\\Administrator\\AppData\\Roaming\\feiq\\Product3_5";
// 拼接出代碼最終輸出的目錄
gc.setOutputDir(projectPath + "/src/main/java");
// 配置開發者資訊(可選)(需要修改)
gc.setAuthor("ping");
// 配置是否打開目錄,false 為不打開(可選)
gc.setOpen(false);
// 實體屬性 Swagger2 注解,添加 Swagger 依賴,開啟 Swagger2 模式(可選)
//gc.setSwagger2(true);
// 重新生成檔案時是否覆寫,false 表示不覆寫(可選)
gc.setFileOverride(false);
// 配置主鍵生成政策,此處為 ASSIGN_ID(可選)
gc.setIdType(IdType.ASSIGN_ID);
// 配置日期類型,此處為 ONLY_DATE(可選)
gc.setDateType(DateType.ONLY_DATE);
// 預設生成的 service 會有 I 字首
gc.setServiceName("%sService");
mpg.setGlobalConfig(gc);
// Step3:資料源配置(需要修改)
DataSourceConfig dsc = new DataSourceConfig();
// 配置資料庫 url 位址
dsc.setUrl("jdbc:mysql://192.168.1.138:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT");
// dsc.setSchemaName("testMyBatisPlus"); // 可以直接在 url 中指定資料庫名
// 配置資料庫驅動
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
// 配置資料庫連接配接使用者名
dsc.setUsername("root");
// 配置資料庫連接配接密碼
dsc.setPassword("123456");
mpg.setDataSource(dsc);
// Step:4:包配置
PackageConfig pc = new PackageConfig();
// 配置父包名(需要修改)
pc.setParent("com");
// 配置子產品名(需要修改)
pc.setModuleName("product");
// 配置 entity 包名
pc.setEntity("entity");
// 配置 mapper 包名
pc.setMapper("mapper");
// 配置 service 包名
pc.setService("service");
// 配置 controller 包名
pc.setController("controller");
mpg.setPackageInfo(pc);
// Step5:政策配置(資料庫表配置)
StrategyConfig strategy = new StrategyConfig();
// 指定表名(可以同時操作多個表,使用 , 隔開)(需要修改)
strategy.setInclude("product");
// 配置資料表與實體類名之間映射的政策
strategy.setNaming(NamingStrategy.underline_to_camel);
// 配置資料表的字段與實體類的屬性名之間映射的政策
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// 配置 lombok 模式
strategy.setEntityLombokModel(true);
// 配置 rest 風格的控制器(@RestController)
strategy.setRestControllerStyle(true);
// 配置駝峰轉連字元
strategy.setControllerMappingHyphenStyle(true);
// 配置表字首,生成實體時去除表字首
// 此處的表名為 test_mybatis_plus_user,子產品名為 test_mybatis_plus,去除字首後剩下為 user。
strategy.setTablePrefix(pc.getModuleName() + "_");
mpg.setStrategy(strategy);
// Step6:執行代碼生成操作
mpg.execute();
}
}
package com.product.controller;
import com.product.entity.Product;
import com.product.entity.Resmsg;
import com.product.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 前端控制器
* </p>
*
* @author ping
* @since 2021-03-05
*/
@RestController
@RequestMapping("/product")
public class ProductController {
@Autowired
private ProductService product;
//支援跨域
@CrossOrigin
@PostMapping(value = "/save")
//@RequestBody作用是将輸入的值轉換成鍵值對,才會執行相關操作
public Resmsg save(@RequestBody Product pro){
boolean bool = product.save (pro);
Resmsg mg=new Resmsg ();
if(bool){
mg.setCode (200);
mg.setMsg ("成功");
System.out.println ("成功");
}else{
mg.setCode (500);
mg.setMsg ("失敗");
System.out.println ("失敗");
}
return mg;
}
}