.gitignore
@@ -0,0 +1,2 @@ /target /out motorSystem.iml
@@ -7,6 +7,10 @@ <facet type="web" name="Web"> <configuration> <webroots /> <sourceRoots> <root url="file://$MODULE_DIR$/src/main/java" /> <root url="file://$MODULE_DIR$/src/main/resources" /> </sourceRoots> </configuration> </facet> </component> @@ -16,6 +20,7 @@ <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> <excludeFolder url="file://$MODULE_DIR$/out" /> <excludeFolder url="file://$MODULE_DIR$/target" /> </content> @@ -25,7 +30,6 @@ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> @@ -36,6 +40,7 @@ <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.23" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.10.2" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.10" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.10" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.10" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.10" level="project" /> @@ -47,6 +52,7 @@ <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final" level="project" /> <orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" /> <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.3.Final" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-web:5.1.13.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.1.13.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.13.RELEASE" level="project" /> @@ -56,14 +62,6 @@ <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: mysql:mysql-connector-java:6.0.6" level="project" /> <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.5" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.0" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.13.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.13.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.0" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.2" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.1.12.RELEASE" level="project" /> @@ -71,6 +69,7 @@ <orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" /> <orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" /> <orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" /> <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> <orderEntry type="library" name="Maven: junit:junit:4.12" level="project" /> <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.11.1" level="project" /> <orderEntry type="library" name="Maven: org.mockito:mockito-core:2.23.4" level="project" /> @@ -87,30 +86,40 @@ <orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" /> <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" /> <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.1.2" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.1.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.12.RELEASE" level="project" /> <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.13.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.13.RELEASE" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.1.2" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.1.2" level="project" /> <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.1.2" level="project" /> <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.2" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.1" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.1" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid:1.1.10" level="project" /> <orderEntry type="library" name="Maven: com.spring4all:swagger-spring-boot-starter:1.9.0.RELEASE" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" /> <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.10" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-bean-validators:2.9.2" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.5" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.2" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.5" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.4" level="project" /> <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.0" level="project" /> <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.10" level="project" /> </component> </module> pom.xml
@@ -35,18 +35,21 @@ <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <!--mybatis 及mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.2</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>3.1.2</version> </dependency> <!--连接池--> @@ -56,7 +59,7 @@ <version>1.1.10</version> </dependency> <!--swagger--> <dependency> <!--<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> @@ -65,12 +68,22 @@ <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>--> <dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version>1.9.0.RELEASE</version> </dependency> <!--pageHelper分页--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> <!--lombok插件--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies> @@ -83,13 +96,6 @@ <!-- 工程主入口--> <mainClass>com.yckj.Application</mainClass> </configuration> <!--<executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions>--> </plugin> </plugins> </build> src/main/java/com/yckj/Application.java
@@ -1,5 +1,6 @@ package com.yckj; import com.spring4all.swagger.EnableSwagger2Doc; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -13,10 +14,10 @@ * @Description : 启动类 * @date 2020/10/15 **/ @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) @SpringBootApplication @EnableWebMvc @MapperScan(basePackages = "com.fgkj.mapper.impl") @EnableSwagger2 @EnableSwagger2Doc public class Application extends WebMvcConfigurerAdapter { public static void main(String[] args) { src/main/java/com/yckj/config/MybatisPlusConfig.java
New file @@ -0,0 +1,22 @@ package com.yckj.config; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.yckj.injector.CustomSqlInjector; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @MapperScan("com.yckj.mapper") public class MybatisPlusConfig { @Bean public CustomSqlInjector customSqlInjector(){ return new CustomSqlInjector(); } @Bean public PaginationInterceptor paginationInterceptor(){ return new PaginationInterceptor(); } } src/main/java/com/yckj/controller/SwaggerController.java
File was deleted src/main/java/com/yckj/controller/UserController.java
@@ -1,20 +1,21 @@ package com.yckj.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yckj.pojo.User; import com.yckj.service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Date; import java.util.List; @RestController @RequestMapping("user") @Api(tags = "用户") @Slf4j public class UserController { @Resource @@ -23,6 +24,48 @@ @PostMapping("/") @ApiOperation(value = "添加") public boolean add(@RequestBody User user){ user.setCreateTime(new Date()); return userService.add(user); } @PostMapping("/batch") @ApiOperation(value = "添加批量") public boolean addBatch(@RequestBody List<User> users){ for (User temp:users){ temp.setCreateTime(new Date()); } return userService.addBatch(users); } @GetMapping("/") @ApiOperation(value = "查询byId") public User getById(@RequestParam int id){ return userService.getById(id); } @GetMapping("/all") @ApiOperation(value = "查询所有") public List<User> getAll(){ return userService.getAll(); } @GetMapping("/page") @ApiOperation(value = "查询分页") public IPage<User> getPage(@RequestParam int pageNum,int pageSize){ Page<Object> page = new Page<>(pageNum, pageSize); return userService.getAllWithPage(page); } @PutMapping("/") @ApiOperation(value = "编辑") public boolean update(@RequestBody User user){ return userService.update(user); } @DeleteMapping @ApiOperation(value = "删除") public boolean delete(@RequestParam int id){ return userService.delete(id); } } src/main/java/com/yckj/injector/CustomSqlInjector.java
New file @@ -0,0 +1,22 @@ package com.yckj.injector; import com.baomidou.mybatisplus.core.injector.AbstractMethod; import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; import com.baomidou.mybatisplus.extension.injector.methods.additional.InsertBatchSomeColumn; import java.util.List; /** * 自定义sql注入器,使得mybatis-plus能自动识别执行 */ public class CustomSqlInjector extends DefaultSqlInjector { @Override public List<AbstractMethod> getMethodList(Class<?> mapperClass) { //这是默认的父类方法列表 List<AbstractMethod> methodList = super.getMethodList(mapperClass); //新增批量插入方法 methodList.add(new InsertBatchSomeColumn()); return methodList; } } src/main/java/com/yckj/mapper/CustomMapper.java
New file @@ -0,0 +1,16 @@ package com.yckj.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.Collection; @SuppressWarnings("all") public interface CustomMapper<T> extends BaseMapper<T> { /** * 批量插入 * @param entityList * @return */ Integer insertBatchSomeColumn(Collection<T> entityList); } src/main/java/com/yckj/mapper/UserMapper.java
New file @@ -0,0 +1,7 @@ package com.yckj.mapper; import com.yckj.pojo.User; public interface UserMapper extends CustomMapper<User> { } src/main/java/com/yckj/mapper/UserMapper/UserMapper.java
File was deleted src/main/java/com/yckj/pojo/User.java
@@ -1,21 +1,15 @@ package com.yckj.pojo; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; @TableName("tb_user") public class User { @TableId private Integer id; private String username; private String password; @TableField(value = "create_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; public Integer getId() { @@ -49,4 +43,5 @@ public void setCreateTime(Date createTime) { this.createTime = createTime; } } src/main/java/com/yckj/service/UserService.java
@@ -1,12 +1,17 @@ package com.yckj.service; import com.yckj.mapper.UserMapper.UserMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yckj.mapper.UserMapper; import com.yckj.pojo.User; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; @Service @Slf4j public class UserService { @Resource @@ -15,4 +20,31 @@ public boolean add(User user) { return userMapper.insert(user)>0; } public boolean addBatch(List<User> users) { return userMapper.insertBatchSomeColumn(users)==users.size(); } public User getById(int id) { return userMapper.selectById(id); } public List<User> getAll() { List<User> users = userMapper.selectList(null); return users; } public IPage<User> getAllWithPage(Page page) { return userMapper.selectPage(page, null); } public boolean update(User user) { return userMapper.updateById(user)>0; } public boolean delete(int id) { return userMapper.deleteById(id)>0; } } src/main/resources/application.yml
File was deleted src/main/resources/config/application.yml
New file @@ -0,0 +1,51 @@ #服务端口号 server: port: 8080 #数据库 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3360/motorSystem?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true # url: jdbc:mysql://192.168.10.222:3360/db_user?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true # url: jdbc:mysql://118.89.139.230:3360/db_user?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true username: root password: lmx8688139 maxIdel: 60 initialPoolSize: 2 minPoolSize: 2 maxPoolSize: 500 mybatis-plus: typeAliasesPackage: com.fgkj.pojo mapper-locations: classpath:mapper/**/*Mapper.xml global-config: db-config: #主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID"; id-type: AUTO #驼峰下划线转换 table-underline: true #数据库大写下划线转换 capital-mode: true #mp2.3+ 全局表前缀 tb_ table-prefix: tb_ #刷新mapper 调试神器 refresh-mapper: true configuration: #配置返回数据库(column下划线命名&&返回java实体是驼峰命名),自动匹配无需as(没开启这个,SQL需要写as: select user_id as userId) map-underscore-to-camel-case: true cache-enabled: false #mybatis日志输出 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl pagehelper: helper-dialect: mysql reasonable: true support-methods-arguments: true params: count=countSql #swagger是否激活,swagger的UI界面地址为 localhost:8080/swagger-ui.html swagger: enabled: true ui-config: operations-sorter: method title: 武汉源畅-3.5WM电机系统 src/main/resources/config/logback.xml
New file @@ -0,0 +1,50 @@ <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="LOG_HOME" value="../logs" /> <!--控制台日志, 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> </appender> <!--文件日志, 按照每天生成日志文件 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名--> <FileNamePattern>${LOG_HOME}/logback.%d{yyyy-MM-dd}.log</FileNamePattern> <!--日志文件保留天数--> <MaxHistory>30</MaxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--日志文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!--mybatis log configure--> <logger name="com.apache.ibatis" level="TRACE"/> <logger name="java.sql.Connection" level="DEBUG"/> <logger name="java.sql.Statement" level="DEBUG"/> <logger name="java.sql.PreparedStatement" level="DEBUG"/> <!-- 开发环境日志输出级别 --> <root level="DEBUG"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE"/> </root> </configuration> src/main/resources/mapper/UserMapper.xml
New file @@ -0,0 +1,6 @@ <?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.yckj.mapper.UserMapper" > </mapper>