高效开发分享

Posted by Clear Blog on July 16, 2019

[TOC]

1.IDEA篇

find action ⌘⇧A 输入你想要的快捷操作,会展示对应的快捷键

live template

我们常用的有psvm来快速生成main方法, psfi来快速生成public static final int. 那么像我们经常需要去定义一个bean,声名其属性以及添加注释, 可以自定义一个live template来提升效率, 模板如下:(按回车即可直接跳到下一个$$)

1
2
3
4
5
6
/**
 * $VAR1$
 */
private static String $VAR2$;

$END$

postfix

nn

跳转

1
2
3
4
5
+ 项目之间跳转 ⌘⎇`
+ 文件之间跳转 ⌘E recent files
+ 最近修改的文件 ⌘⇧E recent changed files 会有搜狗输入法的快捷键冲突
+ 浏览修改位置的跳转 last edit location ⌘⎇⌫
+ 跳转到最近浏览的地方 ⌘⎇→

精准搜索(查看navigate下的说明)

1
2
3
4
精准搜索类:⌘O
精准搜索文件:⌘⇧O
精准搜索函数和属性:⎇⌘O
精准搜索字符串(Edit目录下):⌘⇧F

列操作

1
2
3
4
100:"Continue"
200:"OK"
302:"Found"
401:"Unauthorized"

move caret to next word ⎇→ toggle case ⌘⇧u move caret to line end ⌘→ 选中相同列,shift→相同标识,⌘^G

数据库关联

spring关联

断点调试

条件断点

2.插件篇

Mybatis plugin

MybatisCodeHelperPro

MybatisX

3.框架篇

MybatisPlus

####特性

  • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
  • 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
  • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
  • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
  • 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
  • 支持 ActiveRecord 模式:Active Record是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。 支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
  • 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
  • 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
  • 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
  • 分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库
  • 内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
  • 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作

4.服务篇

使用docker搭建各种各样的服务

Docker的主要优点:

  • 轻量级资源使用:容器在进程级别隔离并共享宿主机的内核,而不需要虚拟化整个操作系统。
  • 可移植性:一个容器应用所需要的依赖都在容器中,这就让它可以在任意一台Docker主机上运行。

img

img

img

mysql

1
2
3
4
5
6
docker run --name mysql 
        -v /Users/xuguangwu/server/mysql/conf.d:/etc/mysql/conf.d \
        -v /Users/xuguangwu/server/mysql/data:/var/lib/mysql \
        -v /Users/xuguangwu/server/mysql/log:/var/log/mysqld.log \
        -p 3306:3306 \
        -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8

nginx

1
2
3
4
5
6
7
8
docker run -d \
        -p 80:80 \
        -v $(pwd)/nginx/conf.d:/etc/nginx/conf.d:ro \
        -v $(pwd)/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
        -v $(pwd)/nginx/logs/nginx:/var/log/nginx \
        -v $(pwd)/nginx/html:/tmp/html \
        --name nginx \
        nginx