MyBatis好帮手,一款功能强大的IDEA插件,帮你节省90%代码量

下载安装

地址:

https://github.com/gejun123456/MyBatisCodeHelper-Pro

安装

Intellij最新插件MybatisCodeHelper-2.8.1-191-201,使用方法IDEA顶部菜单:Tools -> MybatisCodeHelper -> Activation -> OfflineActivation,在offline key框输入任意字符串

配置

数据库用的tinyInt 或者 smallInt生成java类型是 byte 和 short 两种类型。在java代码里面操作 byte 和 short 类型比较麻烦,经常需要强制转换,下面是设置使用Integer 来替代byte和short还有使用Java8的日期时间类型

使用

Maven依赖

创建Maven项目,为保证生成的代码不出错误提示,导入依赖:

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.5.4</version>
</dependency>

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.10</version>
</dependency>

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>5.1.11</version>
</dependency>
<!-- 保证生成的Service层的注解不错 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.1.RELEASE</version>
</dependency>

根据实体类生成建表sql

按alt+insert

生成的SQL语句:

生成好了建表语句后,到数据库中执行, 然后从数据库来生成crud代码

根据表生成Bean、Dao+mapper和Service

第一步:在Intellij中连接上MySQL数据库,在指定的表上右键

第二步:配置生成信息

说明:

exampleQuery:会生成一大堆的example文件,xml中的example代码看起来也很乱、建议使用方法名生成sql来替代。

不推荐mapper接口做继承,所以baseClass选项也不要选。现在代码都是自动生成的,mapper做继承仅能减少一些代码量,效率提升不明显。搞了继承后,看mapper接口对应的xml也变得比较麻烦,哪些方法要放到继承里面也比较难定义,有可能某些接口继承的方法根本用不到。建议是每个接口只生成自己需要的xml方法。

-generatedComments选项建议选中,不然会出现如下所示的提示

第三步:查看各个生成的目录

根据接口中的方法名生成对应的mapper

只需要一个方法名,不需要参数和返回值,输入方法名后,按alt+enter–Generate mybatis sql 就可以生成了。扩展:最全的java面试题库

方法名生成sql时支持if test

一键添加@param注解

按alt+enter

结果:

生成mapper映射文件中resultMap未使用的字段

光标放到resultmap标签type属性值上 -> alt + enter -> generate unUsed properties

结果:

根据mapper接口生成mapper映射文件

创建一个接口 -> 光标放到接口名上 -> alt + enter -> generate mybatis mapper for current class -> 选择mapper映射文件位置

生成find方法

根据方法名 直接生成sql代码 方法名有自动提示 单表操作的代码只有写个方法名就好了

find方法

生成update方法

生成delete方法

生成count方法

生成测试用例

生成分页查询 (依赖于 pageHelper)

DeptServiceImpl类中就可以查看到刚才生成的带有分页功能的代码。

从表数据导出java insert语句

可用于快速构造测试数据

Dao中方法名的规则

find方法

可以使用 select query get 替代find开头,支持orderBy,distinct, findFirst

update方法

可以使用modify替代update开头

delete方法

可以使用remove替代delete开头

count方法

支持distinct

生成不基于Spring的单元测试

光标定位在Mapper中待生成测试方法的方法声明上按快捷键alt+enter

最终生成的测试代码:

public class DaShangMapperTest {
    private static DaShangMapper mapper;

    @BeforeEach
    public static void setUpMybatisDatabase() {
        SqlSessionFactory builder = new SqlSessionFactoryBuilder().build(DaShangMapperTest.class.getClassLoader().getResourceAsStream("mybatisTestConfiguration/DaShangMapperTestConfiguration.xml"));
        //you can use builder.openSession(false) to not commit to database
        mapper = builder.getConfiguration().getMapper(DaShangMapper.class, builder.openSession(true));
    }

    @Test
    public void testInsertDaShang() throws FileNotFoundException {
        mapper.insertDaShang();
    }
}

使用小技巧

查看字段

在mapper.xml文件的字段中按着ctrl键,单击字段,会自动跳转表表的字段中,方便查看各字段的含义:

根据实体类生成sql文件

创建一个实体类,在实体类上右键-generate

选择generte mybatis files

其中:

  • unique:唯一索引,不可重复;

  • index:普通索引,可重复;

有了表之后就可以创建mapper、mapper.xml、service、serviceImpl了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值