什么?还在一个字段一个字段从数据库的表复制到Mapper文件中?最近,随着工作量的增加,感觉重复性的工作越来越多,这感觉让我的时间浪费很多。我举个例子,就是说,现在我要写查询用户详情的语句,在Mapper中查询,那么我们是不是还要根据表的字段,然后然后编写查询语句,然后每个字段要对应实体类的那些字段,这样一复制,一粘贴。5分钟就没了。今天写了个懒人转换语句,可以实现减损99%时间。比如要花5分钟的任务,现在只要几秒钟就行了。下面就让我来介绍一下以及怎么使用。当然,要配合其他软件使用,可以让咱写接口的时间减少8成。
需要配合的软件有:
- PhpMyAdmin
- PDMan
查询
假设呢,现在有个
查询用户详细信息
的接口需求,那么我们需要做的事是
- 第一步,先建实体。
实体类,我们怎么能够几秒钟创建好呢?PDMan了解一下,首先,我们来到用户表:
来查看下,字段设计:
这个想问下平常你们是怎么根据表的字段设计,来创建实体类字段名称的呢?是不是一个字段复制到java实体类中,然后一个个下划线改掉,下划线后面那个字符改成大写? 可以在评论区说出您的经验。在这里,我的做法是,看下一步!;
下一步,点击代码信息,点击Java。如下图:
好了,我们只要选择其中的我们需要的字段,然后copy到实体类中,如下:
package com.huaboshu.pc.user.entity;
import lombok.Data;
/**
* 管理员,用户,实体类
*/
@Data
public class User {
private String id ;
/** 管理员账号 */
private String adminAccount ;
/** 管理员密码 */
private String adminPassword ;
/** 管理员名称 */
private String adminNickname ;
/** 管理员等级;0表示是超级管理员,1表示是普通管理员,2是指定自定义管理员。 */
private String adminRank ;
/** 管理员可以访问的路径;/*表示所有目录,用,分隔开,用{}分割 */
private String adminPath ;
/** 管理员的权限;0增1删2查3改 */
private String adminPower ;
/** 账号输入错误次数;如果小于3,每天清空 */
private String errorNums ;
/** 账号锁;0表示没锁,1表示锁住了 */
private Integer accountLock ;
/** 最近登入地址 */
private String adminLastlyIp ;
/** 最近登入城市 */
private String adminLastlyCity ;
/** 最近登入设备 */
private String lastlyService ;
/**头像地址*/
private String imageUrl ;
/** 最近登入浏览器 */
private String lastlyBrowser ;
/** 创建人 */
private String createBy ;
/** 创建时间 */
private String createTime ;
/** 更新人 */
private String updateBy ;
/** 更新时间 */
private String updateTime ;
/** 乐观锁;防止同步同一时刻多人冲突 */
private Integer version ;
/** 是否弃用;是否删除。 */
private Integer isDelete ;
}
配合lombok的使用,好了,实体类建好了。接下来我们是不是要写select查询语句啊?那接下来,我们打开phpmyadmin!,选择user表
之所以我为什么会在本文中使用phpmyadmin而不是navicat呢?接下来就知道了,来到SQL后,出现如下界面:
我们点击其中的select。发现select语句已经自动生成!
然后我们点击格式,如下:
发现,已经帮我们格式化好sql查询语句了!这时候,select出来的字段还没有映射到我们的实体类的字段,那么按照平常的做法,是不是一个个进实体类字段复制。切换页面,粘贴到对应的sql字段,切换页面,继续从实体类中复制字段名,切换页面,粘贴到sql查询语句的对应的字段里。那么,这样一来,5分钟就没了(字段多的情况)。在这里,我通过自写的sql转换小功能后,时间花费变成几秒就行了。下面来到sql转换页面
select附加转换
将从phpmyadmin复制过来的sql代码粘贴,效果如下:
发现已经附加了 as + …实体类字段名称。这样一来,就不用自己花费时间去追加实体类字段名称。
接下来,我们把它复制到Mapper语句中.
这样一来,直接就写好了原本需要5分钟时间的工程。
更新
现在我们有个更新管理员信息的需求,sql更新语句要怎么写呢?多长时间?
在phpmyadmin中找到user表,按照上面一样选择update语句,如下:
接下来,复制其中sql查询内容,点击跳转update转换页面:
update转换sql页面
粘贴,如下效果。:
如果需要类名,那么如下效果:
接下来,复制右边的语句到Mapper中。如下:
此时可以自由删改,可以去写service业务进行处理了。
提示;
注意,sql转换一定是需要phpmyadmin的语句写法,比如 是靠 ``
来识别的。所以需要下载wamp软件。傻瓜式安装后,然后启动wamp变绿色后,右键托盘图标选择。
wamp成功运行标志:
鼠标左键点击phpMyAdmin,输入账号密码登入就行了。