- 浏览: 279317 次
- 性别:
文章分类
最新评论
#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 508https://github.com/alibaba/drui ... -
验证码服务
2018-11-16 15:40 762<dependency> <grou ... -
Date2LocalDate
2018-06-29 16:34 635public class DateUtils { ... -
mybatis处理枚举
2018-06-29 15:08 816前情: 1.首先,枚举我直接使用中文。省得码表翻译。 2.生成 ... -
SpringBoot多模块相互依赖,找不到依赖包
2018-06-28 16:25 2925https://blog.csdn.net/guduyishu ... -
springboot 集成mybaties
2018-06-26 18:48 815前情: 项目DB访问主要是JPA。 但因为前期需求的不确定等原 ... -
FeignClient的坑。。
2018-06-16 00:46 936@GetMapping("/refund/{orde ... -
JPA做表关联
2018-06-14 12:05 615///客户 @OneToOne(targetEn ... -
vaadin使用springboot
2018-06-12 09:51 1009Vaadin with Spring Boot Cust ... -
当配置文件有某个配置项,才启用对应配置 @ConditionalOnProperty
2018-06-07 17:37 1762当存在配置:xxx.security.social.qq.ap ... -
促销活动表结构
2018-06-05 17:39 1094https://blog.csdn.net/chamtianj ... -
Swagger Config
2018-06-04 16:40 757@Configuration @EnableSwagge ... -
打包pom配置,jar包
2018-06-01 17:47 1070..... </dependencies& ... -
Hystrix&Feign不触发断路器,抛出自定义业务异常
2018-05-29 10:48 3054http://blog.didispace.com/renco ... -
LocalDate自动转java.sql.Date
2018-05-28 14:43 870https://stackoverflow.com/quest ... -
Query By Example
2018-05-28 00:59 619https://blog.csdn.net/zhao_tuo/ ... -
自动将Dto转实体类
2018-05-26 00:46 1107https://auth0.com/blog/automati ... -
Java数据校验(Bean Validation / JSR303)
2018-05-25 16:01 1180http://www.cnblogs.com/pixy/p/5 ... -
RestTempldate处理异常
2018-05-24 22:04 14public class MyErrorHandler i ... -
利用redis生成序列编码 Util
2018-05-24 01:36 4269public class SequenceCodeUtil ...
相关推荐
在.NET 5项目搭建过程中,理解项目结构、依赖管理以及配置文件的使用至关重要,它们构成了应用程序的基础架构。随着项目的进展,你可能还需要考虑单元测试、错误处理、日志记录等高级话题,以确保项目的稳定性和可...
SpringBoot 多模块项目框架搭建过程解析 SpringBoot 多模块项目框架搭建过程解析是指使用 SpringBoot 框架来搭建多模块项目的过程。该过程主要涉及到项目结构的设计、模块之间的依赖关系、配置文件的设置等方面。在...
SSM项目框架搭建,即Spring MVC、Spring和MyBatis三者的集成,是Java Web开发中常见的技术栈。这三个框架的结合提供了强大的功能,能够帮助开发者高效地构建可维护、可扩展的Web应用。 首先,Spring MVC是Spring...
搭建微服务项目 在本资源中,我们将讨论搭建微服务项目的详细过程,包括搭建Eureka、Feign、公共模块等微服务架构的各个组件。微服务架构是一种软件架构风格,它将应用程序拆分成多个小型独立的服务,各服务可以...
在这个项目中,我们基于SSH框架进行了CRM项目的框架搭建和功能设计。SSH框架,即Struts、Spring、Hibernate三个开源组件的组合,是Java Web开发中的常用框架。 1. Struts:这是一个MVC(Model-View-Controller)...
Python项目事件记录系统 内部项目较多,但管理较为混乱。各个干系人之间也不了解其余项目干系人对项目的推进情况。 功能设计 有人员管理,能够新增人员 能够修改人员 有权限管理,控制谁能新增项目,谁能管理项目,...
SpringBoot旨在简化Spring应用的初始搭建以及开发过程。它默认配置了很多常见功能,如嵌入式Tomcat服务器、自动配置Spring beans、健康检查端点等。开发者只需要通过`@SpringBootApplication`注解即可启动一个Spring...
【书城项目搭建】是一个基于J2EE技术的电子商务平台,主要涵盖了前端用户界面和后台管理系统两大部分。项目首先从导入原型开始,创建一个名为`goods`的Web项目,将包含前端页面的webroot和src目录复制到项目中,并...
这个文件记录了项目的元数据,包括项目名称、版本号、作者、依赖项等信息。 二、安装依赖项 在生成package.json文件后,需要安装各种依赖项,包括React、React Dom、Webpack、Babel等。这些依赖项是 React 项目的...
【S2SH项目搭建】是关于使用Struts2、Spring和Hibernate这三大开源框架整合构建Web应用程序的过程。这个项目搭建涉及的技术栈广泛,涵盖了前端控制器、业务层管理和数据持久化等多个层面,对于初学者和开发者来说,...
"乐优项目搭建.rar"是一个压缩包文件,其主要目的是提供一个基础的项目构建框架。在IT行业中,项目搭建是开发过程的初期阶段,它涉及到环境配置、项目结构设计、依赖管理等多个方面。这里,我们将深入探讨这个"乐优...
【标题】"Idea搭建EJB架构Demo项目源代码"涉及的是使用IntelliJ IDEA(简称Idea)这个强大的Java集成开发环境来构建一个基于EJB(Enterprise JavaBeans)架构的示例项目。EJB是Java EE(企业版)平台的核心部分,...
**四、SSM项目搭建步骤** 1. **环境准备**:安装JDK、Maven、IDE(如IntelliJ IDEA)、MySQL数据库等。 2. **创建Maven项目**:使用Maven的pom.xml文件管理项目依赖。 3. **引入SSM依赖**:在pom.xml中添加Spring、...
在这个名为"Android项目页面框架搭建.rar"的压缩包中,我们看到的是一款基于Android Studio的算卦应用的源代码。这个项目不仅提供了完整的代码结构,还可以直接运行,对于学习或快速搭建类似应用的开发者来说,是一...
ElementUI项目搭建示例是一个基于Vue.js框架的前端开发项目,它使用了ElementUI作为主要的用户界面组件库。这个项目旨在提供一个基础的结构,帮助开发者快速地启动一个新的Vue项目,利用ElementUI进行界面设计和开发...
Koa项目搭建过程详细记录 本篇文章主要介绍了Koa项目搭建过程的详细记录,从项目搭建到常用中间件的介绍,再到路由控制的开发。下面是详细的知识点记录: 一、Koa项目搭建 Koa项目搭建过程可以使用koa-generator...
在“ssm基于注解的项目搭建”中,我们主要会涉及到以下几个关键知识点: 1. **Spring框架**:Spring是Java企业级应用的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等功能,通过管理对象的生命周期和...
【标题】"004项目搭建对应源代码" 涉及的是一个具体的软件或插件开发项目,可能是一个教学序列的一部分,旨在帮助学习者理解如何构建和组织一个项目的源代码结构。在软件开发中,良好的项目搭建是至关重要的,因为它...