1、注意事项
1、
2、
3、
4、主键策略
5、自动填充
驼峰属性、属性加注解、实现接口
6、锁
7、分页
8、逻辑删除
要查没有物理删除的,只能原始
9、性能优化插件
10、 query Wrapper条件查询
一、数据库
建库、导入脚本
二、搭建项目
注意搭建项目时,子模块的使用
sb
maven
maven
三、代码生成
使用苞米豆提供的CodeGenerator类,做更改即可。
四、增删改查
五、swagger测试
Y swagger?
1、生成在线API文档
2、可以进行API测试
使用方式
1、新建模块
spring cloud项目,必然是分模块的 ,swagger通常作为公共服务给搜友模块使用。所以,其通常呗放入common模块中。
2、引入依赖
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<scope>provided </scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<scope>provided </scope>
</dependency>
3、创建配置类,配置插件,写法固定,修改对应参数即可。
代码略
4、在需要使用的模块的pom.xml中引入其依赖
5、在需要使用的模块的启动类配置组件扫描。
6、访问,路径固定
ip+port/swagger-ui.html
7、其他注解及使用略
6、统一接口返回结果
1、创建基础模块 2、枚举或者interface定义返回码 2、定义返回结果类 3、引入需要使用的模块中4、使用
7、分页
1、配置分页插件 2、编写分页接口方法
注意:统一使用VO对象接受前端条件查询数据
@RequestBody 接收数据必须以post请求访问接口!
如果用get,就不要使用此注解!
注意2种传值的差异
从swagger种就可以清除看出
1)getMapping 不是有使用
2)@Post Mapping 使用@Request Body注解
8、新增功能
1、加@TableField(fill = FieldFill.INSERT)等
2、新增handler this.setFieldValByName("", new Date(), metaObject);是属性名不是字段!!!
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
//属性名称,不是字段名称
this.setFieldValByName("gmtCreate", new Date(), metaObject);
this.setFieldValByName("gmtModified", new Date(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("gmtModified", new Date(), metaObject);
}
}
9、修改
10、统一异常处理
1、全局
2、特定
3、自定义
11、统一日志处理
1、配置日志级别
2、logback
1)首先删除所有application.yml中关于日志的配置
2)resources目录下创建logback-spring.xml文件
3)异常信息处理,异常类加注解@Slf4j
,方法中加代码log.error(e.getMessage());
4、VUE
单向数据绑定
双向数据绑定
3)绑定事件
4)修饰符
5)v-if
6)v-for 遍历数据
7)组件
8)生命周期函数
重要方法 created(),mounted()
注意:前端debug,代码加debugger
9)路由
就是菜单
10)axios
独立项目,不属于vue,但通常一起使用
用于发送Ajax请求
11)element-ui
12)node.js
知识点
13)npm
14)babel
15)模块化
16)webpack
多个静态资源文件打包成一个,减少页面访问次数。
5、搭建前端环境
1)vue-admin-template
2)改造登录
3)跨域问题
协议,ip、端口 有一个不同就会出现
解决:
1、controller加注解 @CrossOrigin
2、网关
6、前端开发
开发新页面步骤:
1、路由js文件中添加路由
2、创建路由对应的vue页面
3、api创建js文件,定义接口地址、参数
4、vue调用方法实现
5、路由切换,其实就是重定向
两种写法
第一种:
第二种:
6、获取路由中的参数
7、watch解决路由切换问题