微信支付项目开发笔记一:项目搭建和测试

1. 微信支付项目开发笔记一:项目搭建和测试

1.1. 项目开发流程
  1. 市场调研----》 产品调研----》 需求评审(产品人员、设计人员,前端,后端,测试,运营),目标:评审产品在各个环节的困难,以及保证多久能够实现。
  2. 如图

项目开发流程

1.2. 项目开发架构图

项目开发流程图

1.3. 技术选择
  1. 后端:

Eclipse/IDE+SpringBoot2.x+Mybatis+缓存+HttpClient+Mysql

  1. 前端

HTML5+bootstrap+jquery

  1. 测试要求

首页和视频详情页,qbs单机 qbs要求500+

1.4. 后台数据库设计
  1. 数据库设计

ER图:

在线视频网站开发ER图

实体对象:矩形

属性:椭圆

关系:菱形

  1. 字段冗余的好处

比如:评论表的评论用户的昵称和评论用户的id,字段都要有,因为利于分库分表。还有微信登录,利用了你的微信头像,但是有一天你微信头像更新了,但是这个表里面的没有及时的更新的处理方案:

1、忽略

2、写一个定时任务,每天半夜,用户很少时同步一下。

3、将用户表作为一个全局表,一旦更改,写一个消息队列,就通知其他表的字段进行修改。

  1. 常见注意事项

连接mysql客户端:苹果系统:sequel pro win系统:navicat

没有一层不变的架构,没有通用的设计方案。

一定要与业务结合。

1.5. Eclipse快速搭建SpringBoot框架
  1. 站点地址:http://start.spring.io/
  2. 需要的依赖

spring-boot-starter-web

spring-boot-starter-data-redis

mybatis-spring-boot-starter

mysql-connector-java

spring-boot-starter-test

  1. 如果一开始就导入mysql和mybatis依赖,而又没有配置数据库连接信息的话会报错。

报错案例1

  1. Idea用同样的方法进行搭建
1.6. Eclipse/Idea部署热部署
  1. Eclipse添加热部署,只需要添加一个依赖就ok了
<!-- 热部署 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>
  1. idea会自动将热部署关闭。

Idea热部署配置

  1. idea除此之外还要

ctrl+shift+alt+/ 快捷键,选择Registry

compiler.automake.allow.when.app.running 勾选 然后重启项目。

1.7. 后端项目分包
  1. 基本目录结构

controller

service

​ impl

mapper

utils

domain

config

interceoter

dto或者model

  1. application.properties配置文件 server.port=8082配置端口
  2. 入口类也就是main类应该放在根目录下面。
1.8. 开源工具类的优缺点
  1. 分页插件PageHelper

优点:开发简单,使用aop方式进行分页,只需要引入相关依赖,然后PageHelper.startPage(page,size)开启分页

缺点:对于分库,分表等情况使用有问题,深度分页逻辑判断会复杂。

  1. mysql分页案例

案例一

案例二

  1. 推荐书籍

高性能mysql

1.9. mysql逆向工程,IDEA自动生成java实体类
  1. IDEA连接数据库

View->Tool windows->Database打开数据库工具窗口,

连接数据库,右键点击生成pojo类,生成pojo类之前要修改包名。和一些时间类所引用的包。

  1. 数据库实体类常用类型java.util.Date

Idaa配置逆向工程

1.10. 接口配置文件自动映射到属性和实体类配置
  1. 属性名字规范

大模块.子模块.属性名

  1. 在配置文件添加@Configuration,和@PropertySource(value = “classpath:application.properties”)

  2. 从properties中获取值

@Value("${wxpay.appid}")
private String appId;
@Value("${wxpay.appsecret}")
private String appsecret;
1.11. 引入mybatis依赖,第三方数据源,mysql连接驱动
<!--mybatis依赖-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>
<!--mysql连接驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<!--引入第三方数据源-->
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.21</version>
</dependency>
1.12. mysql配置文件

springBoot会将这些注入到sqlSessionFactory。

#========================mysql相关====================
#可以自动识别
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/xdclass?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=123456
#如果不使用默认的数据源(com.zaxxer.hikari.HikariDataSourc)
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
1.13. Mybatis配置注解
  1. 在启动类里面添加注解 @MapperScan()
@SpringBootApplication
@MapperScan("net.xdclass.xdvideo.mapper")
public class XdvideoApplication {

	public static void main(String[] args) {
		SpringApplication.run(XdvideoApplication.class, args);
	}

}
1.14. mybatis各种配置方式

参考语法

xml配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值