- 浏览: 264663 次
- 性别:
文章分类
最新评论
#JPA findAll方法,如何将Entity 转为 Dto
#rest风格,新增和更新,区别post,put
#mysql中id的自动生成
#API安全
#如果加上,创建时间和更新时间。 那么在响应操作时,应主动触发修改该字段
#如果加上,是否有效。 那么在查询时,应主动过滤无效
#时间格式转化
#配置SwaggerUI为默认入口
#返回值格式考虑
#异常处理
#ddl默认用utf-8
#swaggerUI时间格式修改
#修改数据状态时,首先check是否存在
#集成redis
#考虑不用Dto,直接通过jsonIgnore或者其他方式过滤掉隐藏属性
------------------------------------------------------------------
*列表分页
*查询条件处理
*熟悉JPA的使用
调用示例
数据初始化
调出Druid面板
更新保存&添加保存,考虑调用方式
-----------------------------------------------------
==========================
=================================================
configs of java file
=================================================
#rest风格,新增和更新,区别post,put
#mysql中id的自动生成
#API安全
#如果加上,创建时间和更新时间。 那么在响应操作时,应主动触发修改该字段
#如果加上,是否有效。 那么在查询时,应主动过滤无效
#时间格式转化
#配置SwaggerUI为默认入口
#返回值格式考虑
#异常处理
#ddl默认用utf-8
#swaggerUI时间格式修改
#修改数据状态时,首先check是否存在
#集成redis
#考虑不用Dto,直接通过jsonIgnore或者其他方式过滤掉隐藏属性
------------------------------------------------------------------
*列表分页
*查询条件处理
*熟悉JPA的使用
调用示例
数据初始化
调出Druid面板
更新保存&添加保存,考虑调用方式
-----------------------------------------------------
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <springfox.version>2.7.0</springfox.version> <!-- skip maven unit test --> <maven.test.skip>true</maven.test.skip> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.SR4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> <!-- druid连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.29</version> </dependency> <!--JPA--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.6</version> </dependency> <!-- MySQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${springfox.version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${springfox.version}</version> </dependency> <!--json support LocalDate--> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-parameter-names</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> </dependency> <!--eureka--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> <build> <finalName>xxx-api-petStore</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>api.xxx.com.petstore.PetStoreAPIApplication</mainClass> <classifier>exec</classifier> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> </plugin> </plugins> </build> </project>
# server server: port: 9124 # spring spring: #profiles profiles: active: dev #jackson jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss #datasource datasource: # driver config type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver # connection pool config 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 maxPoolPreparedStatementPerConnectionSize: 20 filters: stat,wall,log4j connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 #jpa jpa: database-platform: api.xxx.com.petstore.config.MySQL5DialectUTF8 #redis redis: pool: max-idle: 8 min-idle: 0 max-active: 8 max-wait: -1 #mybatis mybatis: type-aliases-package: api.xxx.com.petstore.entity mapper-locations: classpath*:/sqlMapperXml/*.xml configuration: map-underscore-to-camel-case: true use-generated-keys: true default-fetch-size: 100 default-statement-timeout: 25000 cache-enabled: true aggressive-lazy-loading: true lazy-loading-enabled: false
spring: #datasource datasource: url: jdbc:mysql://192.168.0.105:3306/db_petstore?useUnicode=yes&characterEncoding=UTF-8 username: xxx password: xxx #jpa jpa: # hibernate: # ddl-auto: create show-sql: true #redis redis: database: 4 host: 192.168.0.123 password: xxx # host: 127.0.0.1 port: 6379 #mybatis mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <!-- 使用 mvn mybatis-generator:generate --> <generatorConfiguration> <properties resource="application-dev.yml"/> <classPathEntry location="E://maven_repository/mysql/mysql-connector-java/5.1.42/mysql-connector-java-5.1.42.jar" /> <context id="tables" targetRuntime="MyBatis3" defaultModelType="flat"> <commentGenerator> <property name="suppressAllComments" value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.0.103:3306/db_petstore?useUnicode=yes&characterEncoding=UTF-8" userId="xxx" password="xxx"> </jdbcConnection> <javaModelGenerator targetPackage="api.xxx.com.petstore.vo" targetProject="src/main/java"> <property name="trimStrings" value="true"/> </javaModelGenerator> <sqlMapGenerator targetPackage="sqlMapperXml" targetProject="src/main/resources"> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="api.xxx.com.petstore.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- schema:指定dao文件所属分类文件夹| doaminObjectName:指定生成对象名 --> <table schema="" tableName="sales_order" domainObjectName="SalesOrder" selectByExampleQueryId="false" enableCountByExample="false" enableDeleteByExample="false" enableUpdateByExample="false" enableSelectByExample="false"> <generatedKey column="id" sqlStatement="assigned" identity="true"/> </table> </context> </generatorConfiguration>
<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml" /> <contextName>logback</contextName> <!--输出到控制台--> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!--输出到文件--> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- daily rollover --> <fileNamePattern>/data/logs/restapi-petstore/restapi-petstore.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- keep 90 days' worth of history --> <maxHistory>90</maxHistory> </rollingPolicy> <!--<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">--> <!--<maxFileSize>10MB</maxFileSize>--> <!--</triggeringPolicy>--> <encoder> <pattern>%d [%thread] %-5level %logger{36} H:${HOSTNAME} - SC:%X{optionalParam} %msg%n</pattern> <charset>UTF-8</charset> <immediateFlush>true</immediateFlush> </encoder> </appender> <root level="info"> <appender-ref ref="file" /> </root> </configuration>
==========================
@Getter @Setter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class BaseEntity { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name="system-uuid",strategy = "uuid") @Column(name = "id", length = 32) private String id; @CreatedDate @JsonFormat(pattern = DateUtils.FORMAT_DATE_TIME) private Date createdDate; @LastModifiedDate @JsonFormat(pattern = DateUtils.FORMAT_DATE_TIME) private Date modifiedDate; @Column(name = "is_active") @JsonIgnore private boolean isActive = true; }
=================================================
configs of java file
=================================================
public class MySQL5DialectUTF8 extends MySQL5InnoDBDialect { @Override public String getTableTypeString() { return " ENGINE=InnoDB DEFAULT CHARSET=utf8"; } } @Configuration @EnableJpaAuditing @EnableTransactionManagement @EnableSpringDataWebSupport @MapperScan("api.xxx.com.petstore.mapper") public class AppConfig { @Bean public PageHelper pageHelper() { PageHelper pageHelper = new PageHelper(); Properties p = new Properties(); p.setProperty("dialect", "mysql"); p.setProperty("supportMethodsArguments", "true"); p.setProperty("autoRuntimeDialect", "true"); p.setProperty("offsetAsPageNum", "true"); p.setProperty("rowBoundsWithCount", "true"); p.setProperty("reasonable", "true"); p.setProperty("returnPageInfo", "always"); p.setProperty("params", "count=countSql"); pageHelper.setProperties(p); return pageHelper; } } @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean @SuppressWarnings("deprecation") public Docket petStoreApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(petStoreApiInfo()) .useDefaultResponseMessages(false) .select() .apis( input -> { Class<?> declaringClass = input.declaringClass(); String pkg = declaringClass.getPackage().getName(); if(!pkg.matches("api.xxx.com.petstore.*")) //非本项目,排除 return false; if (declaringClass == BasicErrorController.class)// 排除 return false; if(declaringClass.isAnnotationPresent(RestController.class)) // 被注解的类 return true; if(input.isAnnotatedWith(ResponseBody.class)) // 被注解的方法 return true; return false; }) .build(); } private ApiInfo petStoreApiInfo() { return new ApiInfoBuilder() .title("xxx后台API") .description("xxx后台接口支持") .version("1.0") .contact(new Contact("xxxChengdu RD", "http://xxx.com", "cd@xxx.com")) .build(); } } @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addViewControllers(ViewControllerRegistry registry){ registry.addRedirectViewController("/", "/swagger-ui.html"); } }
发表评论
-
DruidDataSource配置
2019-01-14 16:14 477https://github.com/alibaba/drui ... -
验证码服务
2018-11-16 15:40 724<dependency> <grou ... -
Date2LocalDate
2018-06-29 16:34 568public class DateUtils { ... -
mybatis处理枚举
2018-06-29 15:08 764前情: 1.首先,枚举我直接使用中文。省得码表翻译。 2.生成 ... -
SpringBoot多模块相互依赖,找不到依赖包
2018-06-28 16:25 2808https://blog.csdn.net/guduyishu ... -
springboot 集成mybaties
2018-06-26 18:48 771前情: 项目DB访问主要是JPA。 但因为前期需求的不确定等原 ... -
FeignClient的坑。。
2018-06-16 00:46 902@GetMapping("/refund/{orde ... -
JPA做表关联
2018-06-14 12:05 583///客户 @OneToOne(targetEn ... -
vaadin使用springboot
2018-06-12 09:51 968Vaadin with Spring Boot Cust ... -
当配置文件有某个配置项,才启用对应配置 @ConditionalOnProperty
2018-06-07 17:37 1722当存在配置:xxx.security.social.qq.ap ... -
促销活动表结构
2018-06-05 17:39 1055https://blog.csdn.net/chamtianj ... -
Swagger Config
2018-06-04 16:40 727@Configuration @EnableSwagge ... -
打包pom配置,jar包
2018-06-01 17:47 1020..... </dependencies& ... -
Hystrix&Feign不触发断路器,抛出自定义业务异常
2018-05-29 10:48 3027http://blog.didispace.com/renco ... -
LocalDate自动转java.sql.Date
2018-05-28 14:43 824https://stackoverflow.com/quest ... -
Query By Example
2018-05-28 00:59 581https://blog.csdn.net/zhao_tuo/ ... -
自动将Dto转实体类
2018-05-26 00:46 1071https://auth0.com/blog/automati ... -
Java数据校验(Bean Validation / JSR303)
2018-05-25 16:01 1144http://www.cnblogs.com/pixy/p/5 ... -
RestTempldate处理异常
2018-05-24 22:04 14public class MyErrorHandler i ... -
利用redis生成序列编码 Util
2018-05-24 01:36 4229public class SequenceCodeUtil ...
相关推荐
Python项目事件记录系统 内部项目较多,但管理较为混乱。各个干系人之间也不了解其余项目干系人对项目的推进情况。 功能设计 有人员管理,能够新增人员 能够修改人员 有权限管理,控制谁能新增项目,谁能管理项目,...
这个仓库我将会记录如何从零到一搭建出一个基于react和webpack的项目的开发环境,算是对自己工作以及学习的一种记录,同时也希望可以帮助到一些希望自己搭建项目却不知如何下手的同学。
Spring项目搭建,包括使用junit的测试,本人学习记录之用。不保证可用性
IDEA创建SpringBoot项目步骤记录,记录了从项目开始创建到运行的过程
个人足迹记录,上传基于vue-cli搭建自己的移动端项目。
是一个电商项目的基本搭建,包含六个子项目。主要是针对里面基本的配置文件做记录。
Frida在环境搭建中会遇到各种问题 一、Frida版本问题 由于frida版本更新极快,不断修复bug,不断增加新特性,因此建议使用较新版本的server,较新版本的frida,较新版本的frida-tools。 手机上的server版本和电脑上...
本文介绍了Koa项目搭建过程详细记录,分享给大家,具体如下: Java中的Spring MVC加MyBatis基本上已成为Java Web的标配。Node JS上对应的有Koa、Express、Mongoose、Sequelize等。Koa一定程度上可以说是Express的...
简单记录了基于Ubuntu系统中搭建jdk1.8、mysql5.7、Tomcat9环境的方式,同时记录了修改数据库用户密码的过程
先说明数据库就放一条记录不要多放,我是对象接受的。maven+SpringMVC+Spring+Oracle+mybatis。简单demo适合新手学习
git+repo+gerrit代码评审服务器搭建流程详细步骤,一步步教你搭建完整的代码评审服务器,本人亲自搭建流程记录,验证通过
选择kft-activiti-demo-no-maven项目进行搭建,由于对java技术不熟悉,所以搭建环境的过程中引出了各种问题,本文将详细记录搭建的步骤,以避免后来人继续掉坑里
vue搭建的pc端项目
本文所搭建的项目将不会使用express等后端框架,仅使用最基础的NodeJS API,按照MVC设计模式的思路进行编码和讲解,交流意见。源代码地址如下,建议下载源码边看博客边对照源码才能比较快理解整个过程。...
在工作过程中,由于接触的项目多了,就想自己先搭一个私服练一下,顺便把整个过程稍微记录一下,然后整理成文档,共享给大家,把用到的全部打包,希望可以对初学MAVEN的有所帮助,不足的地方请大家指出,共通学习...
基于整洁架构搭建的个人IM开源项目,通过Netty实现和前端websocket连接。内含有登录,成员列表,联系人, 群组,群组成员,好友,好友分组,黑名单,消息记录,消息撤回,消息已读,消息点赞,还有很多小轮子项目 ...
用maven和intellij来搭建SSH框架,实现了一个用户注册界面,用户输入用户名和密码并提交之后,将信息自动记录到数据库中
文件包括:搭建流程、表结构设计说明、项目说明书、项目代码、环境安装包、数据库脚本。 技术包括:Spring、SpringMVC、Mybatis、MySQL、JSP、BootStrap、LayUI、AJAX、HTML、CSS、JS。 功能包括: 食堂管理员:登录...
上篇我们记录了Scrapy的各个组件功能,这篇我们来动手scrapy爬虫框架的依赖库搭建和项目创建,开始进入进阶实战。