目录
Free MyBatis plugin
codehelper.generator
grep console
Translation
Alibaba Java Coding Guidelines
CamelCase
GenerateAllSetter
Rainbow Brackets
MyBatis Log Plugin
自定义主题样式
自定义IDEA工具栏
自定义快捷键
在写MyBatis项目的时候,我们经常会在DAO和Mapper.xml中来回切换进行代码编写,当方法较多,代码较为繁杂的时候,要定位到对应的方法,以及查看DAO中方法是否在Mapper.xml中定了,这个事情就比较繁琐,这个时候就体现了这个插件的作用。接下来我们可以看看Free MyBatis plugin插件可以帮我们做什么事情。
1.在Idea中安装 Free MyBatis plugin:打开Idea -->Configure--->Plugins--->Browse repositories
搜索Mybaits --->找到Free MyBtais plugin -->点击右侧的Install 等待片刻后提示安装成功,重启Idea即可。
可以根据POJO实体类,一键生成DAO接口,Mapper.xml文件,Service类,以及POJO 对应的SQL脚本(目前只支撑MySQL)。注意,该插件只会生成5个方法(insert,insertList,update,select,delete),当然在Mapper.xml中,sql语句都是使用动态SQL完成的,非常实用。接下来看看它的安装及应用。
安装过程和Free MyBatis plugin差不多,安装完毕后同样需要重启。重新打开后可以看到在Tools工具栏下多了如下选项:
插件安装完毕后我们就可以来使用了,只需要对应的POJO类,但是注意,在当前类中一定要有一个字段叫id,类型不限制。
接下来在项目的根目录下建立一个属性文件(codehelper.properties),内容如下,具体作用就是用于指定要操作的实体类(pojo)有那些,以及生成的dao,service,mapper,sql存放的路径。
#配置多个pojos,以 | 分隔
pojos=Dept|Emp
#Sql文件的charset配置
charset=utf8
#mysql Engine
sqlEngine=InnoDB
#配置各个文件的路径
mapper.path=src/main/resources/mybatis/mappers
dao.path=src/main/java/com/zt/dao
service.path=src/main/java/com/zt/service
sql.path=src/main/resources/sql
### 配置各个java类型的sql关键字
int=NUMBER(12) NOT NULL DEFAULT -1
double=NUMBER(14,4) NOT NULL DEFAULT -1
java.lang.String=VARCHAR2(50) NOT NULL DEFAULT ''
java.lang.Integer=NUMBER(12) NOT NULL DEFAULT -1
·详细配置请参考: ·https://github.com/zhengjunbase/codehelper.generator
做好以上操作后,选择Tools-->CodeHelper--->GenDaoCode,一键生成对应的代码。点击之后会弹出如下窗口表示生成的文件有那些,点击OK即可。
id,
dept_no,
dname,
loc
INSERT INTO dept
id,
dept_no,
dname,
loc,
VALUES
#{pojo.id},
#{pojo.deptNo},
#{pojo.dname},
#{pojo.loc},
INSERT INTO dept(
)VALUES
(
#{pojo.id},
#{pojo.deptNo},
#{pojo.dname},
#{pojo.loc}
)
UPDATE dept
id = #{pojo.id},
dept_no = #{pojo.deptNo},
dname = #{pojo.dname},
loc = #{pojo.loc}
WHERE id = #{pojo.id}
DELETE FROM dept where id = #{pojo.id}
生成的DAO文件:
package com.zt.dao;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.zt.pojo.Dept;
public interface DeptDao {
int insert(@Param("pojo") Dept pojo);
int insertList(@Param("pojos") List< Dept> pojo);
List select(@Param("pojo") Dept pojo);
int update(@Param("pojo") Dept pojo);
}
生成的Service文件:
package com.zt.service;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.zt.pojo.Dept;
import com.zt.dao.DeptDao;
@Service
public class DeptService {
@Resource
private DeptDao deptDao;
public int insert(Dept pojo){
return deptDao.insert(pojo);
}
public int insertList(List< Dept> pojos){
return deptDao.insertList(pojos);
}
public List select(Dept pojo){
return deptDao.select(pojo);
}
public int update(Dept pojo){
return deptDao.update(pojo);
}
}
生成的SQL文件:
-- auto Generated on 2018-04-03 11:41:56
-- DROP TABLE IF EXISTS `dept`;
CREATE TABLE dept(
`id` INTEGER(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`dept_no` NUMBER(12) NOT NULL DEFAULT -1 COMMENT 'deptNo',
`dname` VARCHAR2(50) NOT NULL DEFAULT '' COMMENT 'dname',
`loc` VARCHAR2(50) NOT NULL DEFAULT '' COMMENT 'loc',
PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT 'dept';
控制台彩色日志, 可以自定义info, error 等等这些日志等级的输出颜色 自定义日志颜色,idea控制台可以彩色显示各种级别的log,安装完成后,在console中右键就能打开。
并且可以设置不同的日志级别的显示样式。
翻译插件
选中要翻译的文本,鼠标右键或者快简介Ctrl+Shift+Y 也可以
阿里巴巴代码规范检查插件,当然规范可以参考《阿里巴巴Java开发手册》。
将不是驼峰格式的名称,快速转成驼峰格式,安装好后,选中要修改的名称,按快捷键shift+alt+u。
一键调用一个对象的所有set方法并且赋予默认值 在对象字段多的时候非常方便,在做项目时,每层都有各自的实体对象需要相互转换,但是考虑BeanUtil.copyProperties()等这些工具的弊端,有些地方就需要手动的赋值时,有这个插件就会很方便,创建完对象后在变量名上面按Alt+Enter就会出来 generate all setter选项。
彩虹括号
把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。可以选择格式化sql 需要配合mybatis的开启sql语句打印控制台的配置如下:
Code->Surround With... try..catch ..
Code->Completion->Basic 代码提示
Code-->Generate... 代码生成
Other-->new ... 新建文件/文件夹...