中和华丰建设有限责任公司网站,手机上怎么做微电影网站,制作网页图片格式,宝塔批量建站工具目录
一、cloud项目创建
1.1、项目编码规范
1.2、注解生效激活
1.3、导入父工程maven的pom依赖
二、创建子工程并导入相关pom依赖
2.1、相关配置文件
2.1.1、数据库配置文件内容
2.1.2、自动生成文件配置内容
三、创建微服务8001子工程
3.1、导入相关pom依赖 3.…目录
一、cloud项目创建
1.1、项目编码规范
1.2、注解生效激活
1.3、导入父工程maven的pom依赖
二、创建子工程并导入相关pom依赖
2.1、相关配置文件
2.1.1、数据库配置文件内容
2.1.2、自动生成文件配置内容
三、创建微服务8001子工程
3.1、导入相关pom依赖 3.2、创建yml配置文件及内容
3.3、相关测试代码
四、创建微服务80子工程 4.1、导入相关pom依赖 4.2、创建yml配置文件及内容
4.3、相关测试代码 一、cloud项目创建
1.1、项目编码规范 1.2、注解生效激活 1.3、导入父工程maven的pom依赖
packagingpom/packagingpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodinghutool.version5.8.22/hutool.versionlombok.version1.18.26/lombok.versiondruid.version1.1.20/druid.versionmybatis.springboot.version3.0.2/mybatis.springboot.versionmysql.version8.0.11/mysql.versionswagger3.version2.2.0/swagger3.versionmapper.version4.2.3/mapper.versionfastjson2.version2.0.40/fastjson2.versionpersistence-api.version1.0.2/persistence-api.versionspring.boot.test.version3.1.5/spring.boot.test.versionspring.boot.version3.2.0/spring.boot.versionspring.cloud.version2023.0.0/spring.cloud.versionspring.cloud.alibaba.version2022.0.0.0-RC2/spring.cloud.alibaba.version/propertiesdependencyManagementdependencies!--springboot 3.2.0--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion${spring.boot.version}/versiontypepom/typescopeimport/scope/dependency!--springcloud 2023.0.0--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring.cloud.version}/versiontypepom/typescopeimport/scope/dependency!--springcloud alibaba 2022.0.0.0-RC2--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring.cloud.alibaba.version}/versiontypepom/typescopeimport/scope/dependency!--SpringBoot集成mybatis--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion${mybatis.springboot.version}/version/dependency!--Mysql数据库驱动8 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion${mysql.version}/version/dependency!--SpringBoot集成druid连接池--dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion${druid.version}/version/dependency!--通用Mapper4之tk.mybatis--dependencygroupIdtk.mybatis/groupIdartifactIdmapper/artifactIdversion${mapper.version}/version/dependency!--persistence--dependencygroupIdjavax.persistence/groupIdartifactIdpersistence-api/artifactIdversion${persistence-api.version}/version/dependency!-- fastjson2 --dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactIdversion${fastjson2.version}/version/dependency!-- swagger3 调用方式 http://你的主机IP地址:5555/swagger-ui/index.html --dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webmvc-ui/artifactIdversion${swagger3.version}/version/dependency!--hutool--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion${hutool.version}/version/dependency!--lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/versionoptionaltrue/optional/dependency!-- spring-boot-starter-test --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdversion${spring.boot.test.version}/versionscopetest/scope/dependency/dependencies/dependencyManagement
二、创建子工程并导入相关pom依赖
dependencies!--Mybatis 通用mapper tk单独使用自己独有自带版本号--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.13/version/dependency!-- Mybatis Generator 自己独有自带版本号--dependencygroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-core/artifactIdversion1.4.2/version/dependency!--通用Mapper--dependencygroupIdtk.mybatis/groupIdartifactIdmapper/artifactId/dependency!--mysql8.0--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency!--persistence--dependencygroupIdjavax.persistence/groupIdartifactIdpersistence-api/artifactId/dependency!--hutool--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactId/dependency!--lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scopeexclusionsexclusiongroupIdorg.junit.vintage/groupIdartifactIdjunit-vintage-engine/artifactId/exclusion/exclusions/dependency/dependenciesbuildresourcesresourcedirectory${basedir}/src/main/java/directoryincludesinclude**/*.xml/include/includes/resourceresourcedirectory${basedir}/src/main/resources/directory/resource/resourcespluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/pluginplugingroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-maven-plugin/artifactIdversion1.4.2/versionconfigurationconfigurationFile${basedir}/src/main/resources/generatorConfig.xml/configurationFileoverwritetrue/overwriteverbosetrue/verbose/configurationdependenciesdependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.33/version/dependencydependencygroupIdtk.mybatis/groupIdartifactIdmapper/artifactIdversion4.2.3/version/dependency/dependencies/plugin/plugins/build
2.1、相关配置文件 2.1.1、数据库配置文件内容
#t_pay表包名
package.namecom.cjc.cloud# mysql8.0
jdbc.driverClass com.mysql.cj.jdbc.Driver
jdbc.url jdbc:mysql://localhost:3306/cloud2024?characterEncodingutf8useSSLfalseserverTimezoneGMT%2B8rewriteBatchedStatementstrueallowPublicKeyRetrievaltrue
jdbc.user root
jdbc.password 123456
2.1.2、自动生成文件配置内容
?xml version1.0 encodingUTF-8?
!DOCTYPE generatorConfigurationPUBLIC -//mybatis.org//DTD MyBatis Generator Configuration 1.0//ENhttp://mybatis.org/dtd/mybatis-generator-config_1_0.dtdgeneratorConfigurationproperties resourceconfig.properties/context idMysql targetRuntimeMyBatis3Simple defaultModelTypeflatproperty namebeginningDelimiter value/property nameendingDelimiter value/plugin typetk.mybatis.mapper.generator.MapperPluginproperty namemappers valuetk.mybatis.mapper.common.Mapper/property namecaseSensitive valuetrue//pluginjdbcConnection driverClass${jdbc.driverClass}connectionURL${jdbc.url}userId${jdbc.user}password${jdbc.password}/jdbcConnectionjavaModelGenerator targetPackage${package.name}.entities targetProjectsrc/main/java/sqlMapGenerator targetPackage${package.name}.mapper targetProjectsrc/main/java/javaClientGenerator targetPackage${package.name}.mapper targetProjectsrc/main/java typeXMLMAPPER/table tableNamet_pay domainObjectNamePaygeneratedKey columnid sqlStatementJDBC//table/context
/generatorConfiguration三、创建微服务8001子工程
3.1、导入相关pom依赖 dependencies!--SpringBoot通用依赖模块--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!--SpringBoot集成druid连接池--dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactId/dependency!-- Swagger3 调用方式 http://你的主机IP地址:5555/swagger-ui/index.html --dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webmvc-ui/artifactId/dependency!--mybatis和springboot整合--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactId/dependency!--Mysql数据库驱动8 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency!--persistence--dependencygroupIdjavax.persistence/groupIdartifactIdpersistence-api/artifactId/dependency!--通用Mapper4--dependencygroupIdtk.mybatis/groupIdartifactIdmapper/artifactId/dependency!--hutool--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactId/dependency!-- fastjson2 --dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactId/dependency!--lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.28/versionscopeprovided/scope/dependency!--test--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build 3.2、创建yml配置文件及内容
server:port: 8001# applicationName druid-mysql8 driver
spring:application:name: cloud-payment-servicedatasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/cloud2024?characterEncodingutf8useSSLfalseserverTimezoneGMT%2B8rewriteBatchedStatementstrueallowPublicKeyRetrievaltrueusername: rootpassword: 123456# mybatis
mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.cjc.cloud.entitiesconfiguration:map-underscore-to-camel-case: true
3.3、相关测试代码
实体类
/*** 表名t_pay* 表注释支付交易表
*/
Table(name t_pay)
Schema(title 支付交易表实体类)
Data
public class Pay {IdGeneratedValue(generator JDBC)Schema(title 主键id)private Integer id;/*** 支付流水号*/Column(name pay_no)Schema(title 支付流水号)private String payNo;/*** 订单流水号*/Column(name order_no)Schema(title 订单流水号)private String orderNo;/*** 用户账号ID*/Column(name user_id)Schema(title 用户账号ID)private Integer userId;/*** 交易金额*/Schema(title 交易金额)private BigDecimal amount;/*** 删除标志默认0不删除1删除*/Schema(title 删除标志)private Byte deleted;/*** 创建时间*/Column(name create_time)Schema(title 创建时间)//统一时间格式JsonFormat(pattern yyyy-MM-dd HH:mm:ss,timezone GMT8)private Date createTime;/*** 更新时间*/Column(name update_time)Schema(title 更新时间)JsonFormat(pattern yyyy-MM-dd HH:mm:ss,timezone GMT8)private Date updateTime;
Data
AllArgsConstructor
NoArgsConstructor
public class PayDTO implements Serializable {private Integer id;//支付流水号private String payNo;//订单流水号private String orderNo;//用户账号IDprivate Integer userId;//交易金额private BigDecimal amount;
}mapper接口
public interface PayMapper extends MapperPay {
}
mapper映射文件
?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.cjc.cloud.mapper.PayMapperresultMap idBaseResultMap typecom.cjc.cloud.entities.Pay!--WARNING - mbg.generated--id columnid jdbcTypeINTEGER propertyid /result columnpay_no jdbcTypeVARCHAR propertypayNo /result columnorder_no jdbcTypeVARCHAR propertyorderNo /result columnuser_id jdbcTypeINTEGER propertyuserId /result columnamount jdbcTypeDECIMAL propertyamount /result columndeleted jdbcTypeTINYINT propertydeleted /result columncreate_time jdbcTypeTIMESTAMP propertycreateTime /result columnupdate_time jdbcTypeTIMESTAMP propertyupdateTime //resultMap
/mapper
service接口及实现类
public interface PayService {public int addPay(Pay pay);public int updatePay(Pay pay);public int removePay(Integer id);public Pay getById(Integer id);public ListPay getAll();
}
Service
public class PayServiceImpl implements PayService {Resourceprivate PayMapper payMapper;Overridepublic int addPay(Pay pay) {return payMapper.insertSelective(pay);}Overridepublic int updatePay(Pay pay) {return payMapper.updateByPrimaryKeySelective(pay);}Overridepublic int removePay(Integer id) {return payMapper.deleteByPrimaryKey(id);}Overridepublic Pay getById(Integer id) {return payMapper.selectByPrimaryKey(id);}Overridepublic ListPay getAll() {return payMapper.selectAll();}
}swagger配置类
Configuration
public class Swagger3Config {Beanpublic GroupedOpenApi PayApi(){return GroupedOpenApi.builder().group(支付微服务模块).pathsToMatch(/pay/**).build();}Beanpublic GroupedOpenApi OtherApi(){return GroupedOpenApi.builder().group(其它微服务模块).pathsToMatch(/other/**, /others).build();}/*Beanpublic GroupedOpenApi CustomerApi(){return GroupedOpenApi.builder().group(客户微服务模块).pathsToMatch(/customer/**, /customers).build();}*/Beanpublic OpenAPI docsOpenApi(){return new OpenAPI().info(new Info().title(cloud2024).description(通用设计rest).version(v1.0)).externalDocs(new ExternalDocumentation().description(www.cjc.com).url(https://yiyan.baidu.com/));}
}相关工具类
Getter
public enum ReturnCodeEnum {/**操作失败**/RC999(999,操作XXX失败),/**操作成功**/RC200(200,success),/**服务降级**/RC201(201,服务开启降级保护,请稍后再试!),/**热点参数限流**/RC202(202,热点参数限流,请稍后再试!),/**系统规则不满足**/RC203(203,系统规则不满足要求,请稍后再试!),/**授权规则不通过**/RC204(204,授权规则不通过,请稍后再试!),/**access_denied**/RC403(403,无访问权限,请联系管理员授予权限),/**access_denied**/RC401(401,匿名用户访问无权限资源时的异常),RC404(404,404页面找不到的异常),/**服务异常**/RC500(500,系统异常请稍后重试),RC375(375,数学运算异常请稍后重试),INVALID_TOKEN(2001,访问令牌不合法),ACCESS_DENIED(2003,没有权限访问该资源),CLIENT_AUTHENTICATION_FAILED(1001,客户端认证失败),USERNAME_OR_PASSWORD_ERROR(1002,用户名或密码错误),BUSINESS_ERROR(1004,业务逻辑异常),UNSUPPORTED_GRANT_TYPE(1003, 不支持的认证模式);private final String code;private final String message;ReturnCodeEnum(String code, String message) {this.code code;this.message message;}//普通遍历public static ReturnCodeEnum returnCodeEnum1(String code){for (ReturnCodeEnum returnCodeEnum : ReturnCodeEnum.values()) {if (returnCodeEnum.getCode().equalsIgnoreCase(code)){return returnCodeEnum;}}return null;}//stream流public static ReturnCodeEnum returnCodeEnum2(String code){return Arrays.stream(ReturnCodeEnum.values()).filter(x - x.getCode().equalsIgnoreCase(code)).findFirst().orElse(null);}public static void main(String[] args) {System.out.println(returnCodeEnum1(256));System.out.println(returnCodeEnum2(200).getMessage());}
}
Data
Accessors(chain true)
public class ResultDataT {private String code;private String message;private T data;private long timestamp;//接口调用时间public ResultData() {this.timestamp System.currentTimeMillis();}//成功public static T ResultDataT success(T data){ResultData resultData new ResultData();resultData.setCode(ReturnCodeEnum.RC200.getCode());resultData.setMessage(ReturnCodeEnum.RC200.getMessage());resultData.setData(data);return resultData;}//失败public static T ResultDataT fail(String code, String message){ResultData resultData new ResultData();resultData.setCode(code);resultData.setMessage(message);resultData.setData(null);return resultData;}
}Slf4j
RestControllerAdvice
public class GlobalExceptionHandler {ExceptionHandler({NullPointerException.class,RuntimeException.class})ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)public ResultDataString exception(Exception e){System.out.println(come in GlobalExceptionHandler);log.error(全局异常信息{},e.getMessage(),e);return ResultData.fail(ReturnCodeEnum.RC500.getCode(),ReturnCodeEnum.RC500.getMessage());}
}
controller层
RestController
Slf4j
Tag(name 支付模块,description 支付CURD)
public class PayController {Autowiredprivate PayService payService;Operation(summary 添加,description 添加支付流水方法)PostMapping(value /pay/add)public ResultDataString addPay(RequestBody Pay pay){int i payService.addPay(pay);if (i 0){return ResultData.success(添加成功 i);} else {return ResultData.fail(ReturnCodeEnum.RC999.getCode(),ReturnCodeEnum.RC999.getMessage());}}PutMapping(value /pay/update)Operation(summary 修改,description 修改支付流水方法)public ResultDataString updatePay(RequestBody PayDTO payDTO){Pay pay new Pay();BeanUtils.copyProperties(payDTO,pay);int i payService.updatePay(pay);if (i 0){return ResultData.success(修改成功 i);} else {return ResultData.fail(ReturnCodeEnum.RC999.getCode(),ReturnCodeEnum.RC999.getMessage());}}DeleteMapping(/pay/remove/{id})Operation(summary 删除,description 删除支付流水方法)public ResultDataString removePayId(PathVariable(id) Integer id){int i payService.removePay(id);if (i 0){return ResultData.success(删除成功 i);} else {throw new RuntimeException(删除失败);}}GetMapping(value /pay/getById/{id})Operation(summary 根据id查询,description 根据流水id查询)public ResultDataPay getById(PathVariable(id) Integer id){Pay pay payService.getById(id);if (!pay.equals(null)){return ResultData.success(pay);}else {throw new RuntimeException(查询为空);}}GetMapping(value /pay/getAll)Operation(summary 查询全部流水,description 查询所以流水信息)public ResultDataListPay getAll(){ListPay all payService.getAll();if (all.size() 0){return ResultData.success(all);}else{throw new RuntimeException(查询为空);}}
}四、创建微服务80子工程 4.1、导入相关pom依赖 dependencies!--web actuator--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!--lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!--hutool-all--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactId/dependency!--fastjson2--dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactId/dependency!-- swagger3 调用方式 http://你的主机IP地址:5555/swagger-ui/index.html --dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webmvc-ui/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build 4.2、创建yml配置文件及内容
server:port: 80
4.3、相关测试代码
RestController
public class OrderController {public static final String URL http://localhost:8001;Autowiredprivate RestTemplate restTemplate;//添加GetMapping(/consumer/pay/add)public ResultData addOrder(PayDTO payDTO){return restTemplate.postForObject(URL /pay/add, payDTO, ResultData.class);}//删除GetMapping(/consumer/pay/remove/{id})public ResultData removeOrder(PathVariable(id) Integer id){restTemplate.delete(URL /pay/remove/id,id);return ResultData.success(null);}//修改GetMapping(/consumer/pay/update)public ResultData updateOrder(PayDTO payDTO){restTemplate.put(URL /pay/update, payDTO);return ResultData.success(null);}//查询GetMapping(/consumer/pay/getById/{id})public ResultData getByIdOrder(PathVariable(id) Integer id){return restTemplate.getForObject(URL /pay/getById/id,ResultData.class,id);}
}