自从IDEA配上这个插件开发速度快了N倍

文章目录

一、前言
二、重量级嘉宾闪亮登场
(一)神秘嘉宾的自我表白
(二)神秘嘉宾的家在哪?
三、婚嫁说明书(基础配置)
(一)安装相关数据库驱动
(二)添加数据库的连接信息
(三)查看表中的数据
(四)命令行中操作mysql
(五)如何在这里可视化创建一个新表
(六)如何删除一个表
(七)如何删除一个字段
(八)如何修改表的结构等
四、与mybatis.generator一起使用更快哉
(一)pom配置
(二)生层后目录结构
(三)插件配置
(四)最终结果
1、生成的实体类
2、生成的dao层
3、生成的主键、外键类
4、生成的mapper文件
五、与IDEA结合使用
一、前言

由于之前一直在使用Navicat,不得不说这是个很优秀的数据库管理软件,很方便。

很可惜的是,到期了,学生穷呀,不能去支持一下,也懒的找其他版本的。

无意间发现了本篇文章要说的这个神器,贼好用,已经用了几天了,表示真的很无敌

二、重量级嘉宾闪亮登场

(一)神秘嘉宾的自我表白

开发Java应用程序,作为明星工具IntelliJ IDEA Ultimate当然是首选,然后进行数据库SQL开发的时候,常常会选择诸如:Navicat, sqlyog, MySQL Workbench 等。

当进行Java数据库编程的时候,会来在两个工具,效率极低,其实这都没有必要的。 IDEA本身就是神器,完全可以在一个工具中同时完成Java编号和SQL开发。本文主要介绍IDEA下,数据库工具(DataBase Tool)的基本使用。

(二)神秘嘉宾的家在哪?

在你刚打开idea的时候就会发现旁边有一个,如下图所示的地方:

解开真面目的时刻:

可以看到可以支持很多种数据库,可以完全满足我的需求,我的,我的,如果是不支持的也没办法了,哈哈其实根据我摸索的,是支持自定义驱动的,小博主不才,才疏学浅,这里面的数据库,我认识的都在里面,不认识的也有。

三、婚嫁说明书(基础配置)

为何说是婚嫁说明书,因为我认为我写的详细。

(一)安装相关数据库驱动

左侧找到自己需要的数据库,如果找不到,就点击加号,添加一个新的。

可以根据一下步骤去找到一个自己合适的驱动

可以看到还支持其他版本的,例如我就同时下载了8.x版本的MySql驱动

(二)添加数据库的连接信息

选择一个自己添加好的

这些填写的数据库的账号密码和地址的信息我就不用多解释了吧,相信你既然点开的此文章,肯定是可以看懂的。

在这里,你可以切换不同的驱动,你可以切换不动的驱动的版本

注意雷区:这里我估计卖了一个坑,没填写数据库的名字,一会揭晓

例如切换驱动:

测试是否连接成功

故意输入一个不存在的账号:

结果:

重新修改一下配置信息:

如果不知道数据库名的话,可以查看一下:

重新添加数据库

再看,就可以看到表名字了

(三)查看表中的数据

如果你点击的是表名,则直接显示表的内容:

如果你点击的是某个字段,则会自动定位到该表中的这个字段上:

对于字段太多的表来说,真的是美滋滋呀,

太好了,干得漂亮,我可喜欢这个了

(四)命令行中操作mysql

这个地方也很美,真的

可以自动保存你写的sql,一点也不用你担心会丢失

哈哈,真好,我也是偶尔发现的

也可以new一个新的

(五)如何在这里可视化创建一个新表

注意这里说的是可视化的操作,完全可以自己命令行哦

可自定义表名,还自动同步可视化操作的sql代码,美滋滋啊

这也太方便了吧,具体什么意思,相信你都明白,这里就说这些,自己摸索吧,很神奇

(六)如何删除一个表

直接看图

(七)如何删除一个字段

直接看图,简单明了

(八)如何修改表的结构等

1、右击表,然后:

是不是很少爽

四、与mybatis.generator一起使用更快哉

这个也是我意外发现的,因为我在做项目的时候,使用了mybatis.generator,这个就是可以自动生成,实体类、dao层、service层、controller层、xml文件。

(一)pom配置

pom中的配置文件如下:

这是我自动生成的时候配置的,关于自动生成的具体的配置我就不说了,网上也有很多。如果有需要的话,可以在这个文章下留言,我也可以补上一篇文章。



org.springframework.boot
spring-boot-maven-plugin

        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.5</version>

            <dependencies>
                <dependency>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-core</artifactId>
                    <version>1.3.5</version>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.41</version>
                </dependency>
            </dependencies>

            <executions>
                <execution>
                    <id>mybatis generator</id>
                    <phase>package</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>

            <configuration>
                <!-- 允许移动生成文件-->
                <verbose>true</verbose>
                <!-- 允许自动覆盖文件-->
                <overwrite>false</overwrite>

                <configurationFile>
                    src/main/resources/generatorConfig.xml
                </configurationFile>
            </configuration>

        </plugin>
    </plugins>
</build>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
(二)生层后目录结构

自动生层之后就会下面这样:

(三)插件配置

当然了的靓仔还是今天的主角

右击选择mybatis-generator

补充自己需求的信息:

(四)最终结果

神奇的发生了:

1、生成的实体类

package cn.agriculture;

import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**

  • shipping_address

  • @author
    */
    @Data
    public class ShippingAddress extends ShippingAddressKey implements Serializable {
    private String userName;

    private String mobilePhone;

    private Integer province;

    private Integer city;

    private Integer county;

    private String street;

    private String completeAddress;

    private String remarks;

    private Date createDate;

    private static final long serialVersionUID = 1L;
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    2、生成的dao层

package cn.agriculture;

import cn.agriculture.ShippingAddress;
import cn.agriculture.ShippingAddressKey;

public interface ShippingAddressDao {
int deleteByPrimaryKey(ShippingAddressKey key);

int insert(ShippingAddress record);

int insertSelective(ShippingAddress record);

ShippingAddress selectByPrimaryKey(ShippingAddressKey key);

int updateByPrimaryKeySelective(ShippingAddress record);

int updateByPrimaryKey(ShippingAddress record);

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
3、生成的主键、外键类

package cn.agriculture;

import java.io.Serializable;
import lombok.Data;

/**

  • shipping_address

  • @author
    */
    @Data
    public class ShippingAddressKey implements Serializable {
    private Integer shippingAddressId;

    private Integer userId;

    private static final long serialVersionUID = 1L;
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    4、生成的mapper文件

<?xml version="1.0" encoding="UTF-8"?> SHIPPING_ADDRESS_ID, USER_ID, USER_NAME, MOBILE_PHONE, PROVINCE, CITY, COUNTY, STREET, COMPLETE_ADDRESS, REMARKS, CREATE_DATE select from shipping_address where SHIPPING_ADDRESS_ID = #{shippingAddressId,jdbcType=INTEGER} and USER_ID = #{userId,jdbcType=INTEGER} delete from shipping_address where SHIPPING_ADDRESS_ID = #{shippingAddressId,jdbcType=INTEGER} and USER_ID = #{userId,jdbcType=INTEGER} insert into shipping_address (USER_ID, USER_NAME, MOBILE_PHONE, PROVINCE, CITY, COUNTY, STREET, COMPLETE_ADDRESS, REMARKS, CREATE_DATE) values (#{userId,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{mobilePhone,jdbcType=VARCHAR}, #{province,jdbcType=INTEGER}, #{city,jdbcType=INTEGER}, #{county,jdbcType=INTEGER}, #{street,jdbcType=VARCHAR}, #{completeAddress,jdbcType=VARCHAR}, #{remarks,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}) insert into shipping_address USER_ID, USER_NAME, MOBILE_PHONE, PROVINCE, CITY, COUNTY, STREET, COMPLETE_ADDRESS, REMARKS, CREATE_DATE, #{userId,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{mobilePhone,jdbcType=VARCHAR}, #{province,jdbcType=INTEGER}, #{city,jdbcType=INTEGER}, #{county,jdbcType=INTEGER}, #{street,jdbcType=VARCHAR}, #{completeAddress,jdbcType=VARCHAR}, #{remarks,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, update shipping_address USER_NAME = #{userName,jdbcType=VARCHAR}, MOBILE_PHONE = #{mobilePhone,jdbcType=VARCHAR}, PROVINCE = #{province,jdbcType=INTEGER}, CITY = #{city,jdbcType=INTEGER}, COUNTY = #{county,jdbcType=INTEGER}, STREET = #{street,jdbcType=VARCHAR}, COMPLETE_ADDRESS = #{completeAddress,jdbcType=VARCHAR}, REMARKS = #{remarks,jdbcType=VARCHAR}, CREATE_DATE = #{createDate,jdbcType=TIMESTAMP}, where SHIPPING_ADDRESS_ID = #{shippingAddressId,jdbcType=INTEGER} and USER_ID = #{userId,jdbcType=INTEGER} update shipping_address set USER_NAME = #{userName,jdbcType=VARCHAR}, MOBILE_PHONE = #{mobilePhone,jdbcType=VARCHAR}, PROVINCE = #{province,jdbcType=INTEGER}, CITY = #{city,jdbcType=INTEGER}, COUNTY = #{county,jdbcType=INTEGER}, STREET = #{street,jdbcType=VARCHAR}, COMPLETE_ADDRESS = #{completeAddress,jdbcType=VARCHAR}, REMARKS = #{remarks,jdbcType=VARCHAR}, CREATE_DATE = #{createDate,jdbcType=TIMESTAMP} where SHIPPING_ADDRESS_ID = #{shippingAddressId,jdbcType=INTEGER} and USER_ID = #{userId,jdbcType=INTEGER}

五、与IDEA结合使用

看到这个图就很爽,再也不用去切换到其他的数据库管理工具了。
一个界面就搞定了,美哉美哉,哈哈哈

提示也是很友好

开发速度能不快吗???

如果对你有帮助,可以分享给你身边的朋友。或者给俺点个大大的赞和大大的评论,点赞和评论就是给我最大的支持,感谢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值