【谷粒学院】004
【谷粒学院】004
1、创建数据库
guli_edu
2、创建表
代码语言:javascript代码运行次数:0运行复制CREATE TABLE `edu_teacher` (
`id` CHAR ( 19 ) OT ULL COMMET '讲师ID',
`name` VARCHAR ( 20 ) OT ULL COMMET '讲师姓名',
`intro` VARCHAR ( 500 ) OT ULL DEFAULT '' COMMET '讲师简介',
`career` VARCHAR ( 500 ) DEFAULT ULL COMMET '讲师资历,一句话说明讲师',
`level` IT ( 10 ) USIGED OT ULL COMMET '头衔 1高级讲师 2首席讲师',
`avatar` VARCHAR ( 255 ) DEFAULT ULL COMMET '讲师头像',
`sort` IT ( 10 ) USIGED OT ULL DEFAULT '0' COMMET '排序',
`is_deleted` TIYIT ( 1 ) USIGED OT ULL DEFAULT '0' COMMET '逻辑删除 1(true)已删除, 0(false)未删除',
`gmt_create` datetime OT ULL COMMET '创建时间',
`gmt_modified` datetime OT ULL COMMET '更新时间',
PRIMARY KEY ( `id` ),
UIQUE KEY `uk_name` ( `name` )
) EGIE = IODB DEFAULT CHARSET = utf8mb4 COMMET = '讲师';
插入数据:
代码语言:javascript代码运行次数:0运行复制ISERT ITO `edu_teacher`
VALUES
( '1', '张三', '近年主持国家自然科学基金(6项)、江苏省重大科技成果转化项目(5项)、江苏省产学研前瞻性联合研究项目(项)、省工业科技支撑、省高技术、省自然科学基金等省部级及其企业的主要科研项目40多个,多个项目在企业成功转化,产生了较好的经济、社会和环境效益。积极开展产学研科技合作,并与省内16家企业建立了江苏省研究生工作站,其中6家为江苏省优秀研究生工作站', '高级', 1, '.jpg', 0, 0, '2019-10-0 14:18:46', '2019-11-12 1:6:6' ),(
'11898972608478977',
'晴天',
'高级讲师简介',
'高级讲师资历',
2,
'.png',
1,
0,
'2019-10-0 11:5:0',
'2019-10-0 11:5:0'
),(
'118990295668469762',
'李刚',
'高级讲师简介',
'高级讲师',
2,
'.png',
2,
0,
'2019-10-0 11:55:19',
'2019-11-12 1:7:52'
),(
'118942647876985857',
'王二',
'高级讲师简介',
'高级讲师',
1,
'.png',
0,
0,
'2019-10-0 14:18:56',
'2019-11-12 1:7:5'
),(
'11894264649679959',
'王五',
'高级讲师简介',
'高级讲师',
1,
'.png',
0,
0,
'2019-10-0 14:19:02',
'2019-11-12 1:7:18'
),(
'11922499148055746',
'李四',
'高级讲师简介',
'高级讲师',
1,
'.png',
0,
0,
'2019-11-07 09:18:25',
'2019-11-12 1:7:01'
),(
'119227476087115778',
'1222-12-12',
'1111',
'11',
1,
'.png',
0,
1,
'2019-11-07 14:26:7',
'2019-11-11 16:26:26'
),(
'1195745429129218',
'test',
'sdfsdf',
'sdfdf',
1,
'.jpg',
0,
1,
'2019-11-15 21:47:12',
'2019-11-15 21:47:27'
);
、数据库设计规约
以下规约只针对本模块,更全面的文档参考《阿里巴巴Java开发手册》:五、MySQL数据库;
1、库名与应用名称尽量一致;
2、表名、字段名必须使用小写字母或数字,禁止出现数字开头;
、表名不使用复数名词;
4、表的命名最好是加上“业务名称_表的作用”。如,edu_teacher;
5、表必备三字段:id、 gmt_create、gmt_modified;
说明:其中 id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1。(如果使用分库分表集部署,则id类型为verchar,非自增,业务中使用分布式id生成器)gmt_create, gmt_modified 的类型均为 datetime 类型,前者现在时表示主动创建,后者过去分词表示被动更新;
6、单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。 说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表;
7、表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint (1 表示是,0 表示否)。
说明:任何字段如果为非负数,必须是 unsigned。注意:POJO 类中的任何布尔类型的变量,都不要加 is 前缀。数据库表示是与否的值,使用 tinyint 类型,坚持 is_xxx 的 命名方式是为了明确其取值含义与取值范围。正例:表达逻辑删除的字段名 is_deleted,1 表示删除,0 表示未删除。
8、小数类型为 decimal,禁止使用 float 和 double。 说明:float 和 double 在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不 正确的结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数分开存储;
9、如果存储的字符串长度几乎相等,使用 char 定长字符串类型;
10、varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长度大于此值,定义字段类型为 text,独立出来一张表,用主键来对应,避免影响其它字段索 引效率;
11、唯一索引名为 uk_字段名;普通索引名则为 idx_字段名。说明:uk_ 即 unique key;idx_ 即 index 的简称;
12、不得使用外键与级联,一切外键概念必须在应用层解决。外键与级联更新适用于单机低并发,不适合分布式、高并发集;级联更新是强阻塞,存在数据库更新风暴的风险;外键影响数据库的插入速度;
1、父工程作用
pom类型、管理以来版本、放公共依赖;
2、创建父工程guli_parent
(年少轻狂的我又选择2.4.0版本)
、删除src目录
4、在pom.xml文件中加一个packaging标签
代码语言:javascript代码运行次数:0运行复制<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0" xmlns:xsi=";
xsi:schemaLocation=".0.0 .0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zibo</groupId>
<artifactId>guli_parent</artifactId>
<!--在这里加一个标签packaging-->
<packaging>pom</packaging>
<version>0.0.1-SAPSHOT</version>
<name>guli_parent</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
5、删除dependencies标签
代码语言:javascript代码运行次数:0运行复制<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0" xmlns:xsi=";
xsi:schemaLocation=".0.0 .0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zibo</groupId>
<artifactId>guli_parent</artifactId>
<!--在这里加一个标签packaging-->
<packaging>pom</packaging>
<version>0.0.1-SAPSHOT</version>
<name>guli_parent</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
6、添加各种依赖的版本
(按我的年少轻狂都用最新版本,但是这太多了,为了项目顺利进行,就是用老师的版本吧!)
代码语言:javascript代码运行次数:0运行复制<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0" xmlns:xsi=";
xsi:schemaLocation=".0.0 .0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zibo</groupId>
<artifactId>guli_parent</artifactId>
<!--在这里加一个标签packaging-->
<packaging>pom</packaging>
<version>0.0.1-SAPSHOT</version>
<name>guli_parent</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<guli.version>0.0.1-SAPSHOT</guli.version>
<mybatis-plus.version>.0.5</mybatis-plus.version>
<velocity.version>2.0</velocity.version>
<swagger.version>2.7.0</swagger.version>
<version>2.8.</version>
<jodatime.version>2.10.1</jodatime.version>
<poi.version>.17</poi.version>
<comm-fileupload.version>1..1</comm-fileupload.version>
<comm-io.version>2.6</comm-io.version>
<httpclient.version>4.5.1</httpclient.version>
<jwt.version>0.7.0</jwt.version>
<aliyun-java-sdk-core.version>4..</aliyun-java-sdk-core.version>
<aliyun-sdk-oss.version>.1.0</aliyun-sdk-oss.version>
<aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version>
<aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version>
<aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version>
<fastjson.version>1.2.28</fastjson.version>
<gson.version>2.8.2</gson.version>
<json.version>20170516</json.version>
<comm-dbutils.version>1.7</comm-dbutils.version>
<version>1.1.0</version>
<docker.image.prefix>zx</docker.image.prefix>
<cloud-alibaba.version>0.2.2.RELEASE</cloud-alibaba.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
7、添加各种依赖管理(pom.xml最终)
代码语言:javascript代码运行次数:0运行复制<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0" xmlns:xsi=";
xsi:schemaLocation=".0.0 .0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zibo</groupId>
<artifactId>guli_parent</artifactId>
<!--在这里加一个标签packaging-->
<packaging>pom</packaging>
<version>0.0.1-SAPSHOT</version>
<name>guli_parent</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<guli.version>0.0.1-SAPSHOT</guli.version>
<mybatis-plus.version>.0.5</mybatis-plus.version>
<velocity.version>2.0</velocity.version>
<swagger.version>2.7.0</swagger.version>
<version>2.8.</version>
<jodatime.version>2.10.1</jodatime.version>
<poi.version>.17</poi.version>
<comm-fileupload.version>1..1</comm-fileupload.version>
<comm-io.version>2.6</comm-io.version>
<httpclient.version>4.5.1</httpclient.version>
<jwt.version>0.7.0</jwt.version>
<aliyun-java-sdk-core.version>4..</aliyun-java-sdk-core.version>
<aliyun-sdk-oss.version>.1.0</aliyun-sdk-oss.version>
<aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version>
<aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version>
<aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version>
<fastjson.version>1.2.28</fastjson.version>
<gson.version>2.8.2</gson.version>
<json.version>20170516</json.version>
<comm-dbutils.version>1.7</comm-dbutils.version>
<version>1.1.0</version>
<docker.image.prefix>zx</docker.image.prefix>
<cloud-alibaba.version>0.2.2.RELEASE</cloud-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<!--Spring Cloud-->
<dependency>
<groupId>org.</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--mybatis-plus 持久层-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<!--swagger ui-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<!--aliyunOSS-->
<dependency>
<groupId>com.</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>${version}</version>
</dependency>
<!--日期时间工具-->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${jodatime.version}</version>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<!--xlsx-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!--文件上传-->
<dependency>
<groupId>comm-fileupload</groupId>
<artifactId>comm-fileupload</artifactId>
<version>${comm-fileupload.version}</version>
</dependency>
<!--comm-io-->
<dependency>
<groupId>comm-io</groupId>
<artifactId>comm-io</artifactId>
<version>${comm-io.version}</version>
</dependency>
<!--httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
<dependency>
<groupId>com.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<!-- JWT -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!--aliyun-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>${aliyun-java-sdk-core.version}</version>
</dependency>
<dependency>
<groupId>com.</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>${aliyun-sdk-oss.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
<version>${aliyun-java-sdk-vod.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-vod-upload</artifactId>
<version>${aliyun-java-vod-upload.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-sdk-vod-upload</artifactId>
<version>${aliyun-sdk-vod-upload.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${json.version}</version>
</dependency>
<dependency>
<groupId>comm-dbutils</groupId>
<artifactId>comm-dbutils</artifactId>
<version>${comm-dbutils.version}</version>
</dependency>
<dependency>
<groupId>com.</groupId>
<artifactId></artifactId>
<version>${version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1、在父工程guli-parent下面创建模块service
2、删除src目录
、添加模块类型pom
<artifactId> 节点后面添加 pom类型;
代码语言:javascript代码运行次数:0运行复制<artifactId>service</artifactId>
<packaging>pom</packaging>
4、添加项目需要的依赖
代码语言:javascript代码运行次数:0运行复制<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0"
xmlns:xsi=";
xsi:schemaLocation=".0.0 .0.0.xsd">
<parent>
<artifactId>guli_parent</artifactId>
<groupId>com.zibo</groupId>
<version>0.0.1-SAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service</artifactId>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>org.</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
<!--hystrix依赖,主要是用 @HystrixCommand -->
<dependency>
<groupId>org.</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!--服务注册-->
<dependency>
<groupId>org.</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--服务调用-->
<dependency>
<groupId>org.</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<!--lombok用来简化实体类:需要安装lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
<dependency>
<groupId>comm-fileupload</groupId>
<artifactId>comm-fileupload</artifactId>
</dependency>
<!--httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<!--comm-io-->
<dependency>
<groupId>comm-io</groupId>
<artifactId>comm-io</artifactId>
</dependency>
<!--gson-->
<dependency>
<groupId>com.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
5、注释一些暂时用不到的Spring cloud相关的依赖(最终)
代码语言:javascript代码运行次数:0运行复制<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0"
xmlns:xsi=";
xsi:schemaLocation=".0.0 .0.0.xsd">
<parent>
<artifactId>guli_parent</artifactId>
<groupId>com.zibo</groupId>
<version>0.0.1-SAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service</artifactId>
<packaging>pom</packaging>
<dependencies>
<!-- 这些以来暂时用不到先注释-->
<!-- <dependency>-->
<!-- <groupId>org.</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>-->
<!-- </dependency>-->
<!--hystrix依赖,主要是用 @HystrixCommand -->
<!-- <dependency>-->
<!-- <groupId>org.</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>-->
<!-- </dependency>-->
<!--服务注册-->
<!-- <dependency>-->
<!-- <groupId>org.</groupId>-->
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
<!-- </dependency>-->
<!--服务调用-->
<!-- <dependency>-->
<!-- <groupId>org.</groupId>-->
<!-- <artifactId>spring-cloud-starter-openfeign</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<!--lombok用来简化实体类:需要安装lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
<dependency>
<groupId>comm-fileupload</groupId>
<artifactId>comm-fileupload</artifactId>
</dependency>
<!--httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<!--comm-io-->
<dependency>
<groupId>comm-io</groupId>
<artifactId>comm-io</artifactId>
</dependency>
<!--gson-->
<dependency>
<groupId>com.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
1、创建子模块
2、创建配置文件application.properties
代码语言:javascript代码运行次数:0运行复制# 服务端口
server.port=8001
# 服务名
spring.=service-edu
# 环境设置:dev、test、prod
spring.profiles.active=dev
# mysql数据库连接
spring.datasource.driver-class-name=jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:06/guli?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
#mybatis日志
log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
或者application.yaml文件:
代码语言:javascript代码运行次数:0运行复制spring:
application:
name: service-edu
profiles:
active: dev
#### application-dev.yml
server:
port: 8001
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locati: classpath:com/atguigu/service/*/mapper/*.xml
global-config:
db-config:
logic-delete-value: 1
logic-not-delete-value: 0
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: jdbc.Driver
url: jdbc:mysql://localhost:06/guli?serverTimezone=GMT%2B8
username: root
password: root
hikari:
connection-test-query: SELECT 1
connection-timeout: 60000
idle-timeout: 500000
max-lifetime: 540000
maximum-pool-size: 12
minimum-idle: 10
pool-name: GuliHikariPool
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
、使用mp带的代码生成器生成代码
代码生成器:
代码语言:javascript代码运行次数:0运行复制package com.zibo;
import com.annotation.DbType;
import com.annotation.IdType;
import com.generator.AutoGenerator;
import com.DataSourceConfig;
import com.GlobalConfig;
import com.PackageConfig;
import com.StrategyConfig;
import com.rules.DateType;
import com.rules.amingStrategy;
import org.junit.Test;
/**
* @author
* @since 2018/12/1
*/
public class CodeGenerator {
@Test
public void run() {
// 1、创建代码生成器
AutoGenerator mpg = new AutoGenerator();
// 2、全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("testjava");
gc.setOpen(false); //生成后是否打开资源管理器
gc.setFileOverride(false); //重新生成时文件是否覆盖
gc.setServiceame("%sService"); //去掉Service接口的首字母I
gc.setIdType(IdType.ID_WORKER); //主键策略
gc.setDateType(DateType.OLY_DATE);//定义生成的实体类中日期类型
gc.setSwagger2(true);//开启Swagger2模式
mpg.setGlobalConfig(gc);
// 、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:06/guli");
dsc.setDriverame("jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
pc.setModuleame("edu"); //模块名
pc.setParent("demo");
pc.setController("controller");
pc.setEntity("entity");
pc.setService("service");
pc.setMapper("mapper");
mpg.setPackageInfo(pc);
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("edu_teacher");
strategy.setaming(amingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setTablePrefix(pc.getModuleame() + "_"); //生成实体时去掉表前缀
strategy.setColumnaming(amingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
strategy.setRestControllerStyle(true); //restful api风格控制器
strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
mpg.setStrategy(strategy);
// 6、执行
();
}
}
位置:
生成结果:
4、修改TeacherController(讲师列表)
代码语言:javascript代码运行次数:0运行复制package com.;
import com.Teacher;
import com.service.TeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* <p>
* 讲师 前端控制器
* </p>
*
* @author zibo
* @since 2020-11-0
*/
@RestController
@RequestMapping("/edu/teacher")
public class TeacherController {
@Autowired
private TeacherService teacherService;
@RequestMapping("/findall")
public List<Teacher> findAll(){
return teacherService.list(null);
}
}
5、创建启动类
代码语言:javascript代码运行次数:0运行复制package com.;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class EduApplication {
public static void main(String[] args) {
SpringApplication.run(,args);
}
}
6、创建配置类
代码语言:javascript代码运行次数:0运行复制package com.;
import spring.annotation.MapperScan;
import org.annotation.Configuration;
@Configuration
@MapperScan("com.mapper")
public class EduConfig {
}
7、运行测试
通过启动类启动项目——访问“http://localhost:8001/edu/teacher/findall”
到此,我们项目的基本环境就没有问题了!
0、配置统一返回的json时间格式(补充)
默认情况下json时间格式带有时区,并且是世界标准时间,和我们的时间差了八个小时;
在application.properties中设置:
代码语言:javascript代码运行次数:0运行复制#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.=GMT+8
1、添加逻辑删除插件
代码语言:javascript代码运行次数:0运行复制package com.config;
import com.core.injector.ISqlInjector;
import com.extension.injector.LogicSqlInjector;
import spring.annotation.MapperScan;
import org.annotation.Bean;
import org.annotation.Configuration;
@Configuration
@MapperScan("com.mapper")
public class EduConfig {
//添加逻辑删除插件
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
}
2、在实体类Teacher中给isDeleted字段添加@TableLogic注解
、在TeacherController中添加逻辑删除方法
代码语言:javascript代码运行次数:0运行复制package com.;
import com.Teacher;
import com.service.TeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* <p>
* 讲师 前端控制器
* </p>
*
* @author zibo
* @since 2020-11-0
*/
@RestController
@RequestMapping("/edu/teacher")
public class TeacherController {
@Autowired
private TeacherService teacherService;
//查询所有
@RequestMapping("/findall")
public List<Teacher> findAll(){
return teacherService.list(null);
}
//逻辑删除
@RequestMapping("{id}")//id通过路径传过来
// @DeleteMapping("{id}")
public boolean hide(@PathVariable("id")String id){
return teacherService.removeById(id);
}
}
4、关于测试
关于delete提交方式的测试:
使用swagger测试(重点);postman(了解);
咱们使用一次get方式的删除:
原始数据:
删除测试:
删除结果:
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 15 条评论) |
本站网友 承德九中 | 16分钟前 发表 |
jdbc.Driver url | |
本站网友 红馆ktv团购 | 12分钟前 发表 |
19' | |
本站网友 拍婚纱团购 | 11分钟前 发表 |
'.png' | |
本站网友 蔚蓝海岸 | 29分钟前 发表 |
mysql | |
本站网友 不知天上宫阙今夕是何年 | 26分钟前 发表 |
varchar 是可变长字符串 | |
本站网友 广州恒大集团 | 10分钟前 发表 |
7 | |
本站网友 句容房产网 | 23分钟前 发表 |
'2019-11-07 09 | |
本站网友 中国银行深圳分行 | 27分钟前 发表 |
application | |
本站网友 prefetch | 25分钟前 发表 |
'李刚' | |
本站网友 书艺公社 | 19分钟前 发表 |
不适合分布式 | |
本站网友 西安东大医院 | 30分钟前 发表 |
'高级讲师简介' | |
本站网友 胎记位置 | 3分钟前 发表 |
0 | |
本站网友 龚建生 | 20分钟前 发表 |
表名不使用复数名词;4 | |
本站网友 城市猎人主题曲 | 23分钟前 发表 |
0(false)未删除' |