为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

雪橇僵尸
• 阅读 419

-1. 前言

为了方便摸鱼,我之前写过一个通过sql生成代码的工具,但是服务器到期了,也就懒得重新部署了。 技术框架是 SpringBoot + MybatisPlus + Velocity + Vue + ElementUI

0. Utools应用安装

  1. 官网地址: https://u.tools/
  2. 插件名称: SqlConvert
  3. 如果遇到插件有问题,可以在gitee 提交Issue 或者在utools插件下提交评论

1. 安装运行

  1. 下载项目到本地
git clone git@gitee.com:chargeduck/utools_sql_convert_vue.git
  1. 使用npm运行
npm install
npm run dev
  1. 启动之后访问localhost:5173

2. 在Utools中调试

想要调试插件,需要先安装Utools开发者工具,这个直接在utools的插件应用市场下载就行了

1. 创建插件信息

根据提示,创建自己的插件信息即可

  1. 新建Utools项目

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

  1. 填写项目信息

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

  1. 选择plugin.json,这个文件的位置在项目目录的utools文件夹下

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

2. 调试

1. 实时调试

  1. 进入到项目的utools文件夹下
  2. 修改plugin.json
{
    "main": "http://localhost:5173/index.html",
}
  1. 在刚才选择plugin.json的地方,刷新一下
  2. 输入关键字激活SqlConvert插件, 想要其他的可以在加
{
    "cmds": [
        "sql转换",
        "转换",
        "MybatisLogsFormat",
        "代码生成",
        "Mybatis"
    ]
}
  1. vscode或者WebStorm中更改代码,utools插件内就会自动更新

2. 打包测试

  1. 进入项目根目录

  2. 执行打包命令

npm run build
  1. 将生成的dist目录,移动到utools文件夹下
  2. 修改plugin.json
{
   "main": "dist/index.html", 
}
  1. 刷新utools中的plugin.json

3. 功能说明

使用说明

1. 列转in

该功能是最早支持的功能,从Excel或者Navicat等工具中复制查询结果到左侧输入框之中,点击转换就会转换成sql支持的in语句。

  • 列转in语句

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

  • 添加括号

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

2. 列转foreach

这个功能主要是为了方便书写foreach语句的。

比方说你现在使用mybatis有一个地方需要一个<foreach>语句,需要用三个字段

id,nick_name,user_id

这个时候直接复制到左边,点击转换就能够生成<foreach>语句,

当然也支持只填写一个id匹配需要批量删除的场景

  • 字段转foreach

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

  • 批量删除或者只需要一个字段的场景

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

3. 批量插入

将表所有的字段填写到左侧,在下方输入表名,选择数据库类型。点击转换即可生成批量插入语句

当前只实现了mysql,.oracle,postgresql

不填写表名会默认生成一个

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

4. 批量更新

与上方功能类似,也是将所有的字段输入进入,输入表名,填写主键,选择数据库类型生成

0.0.5版本存在样式错乱问题,待下个版本修复

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

5. 代码生成

这个功能比较复杂,暂时还没有完成,想要抢先体验的可以下载仓库代码,按照第一二章节试试

  1. 点击配置 添加配置信息

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

  1. 设置自定义的类型映射

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

  1. 查看模板

本来准备用velocity模板引擎写呢,后来折腾了一天发现不行,然后就还用前端的EJS

这里更改配置之后,点击保存即可。重置的话会使用我写的一套配置

有一个问题就是我用的vue打包后的文件实现的,然后呢这个玩意我保存到了localStorage里边。utools插件自带的utools.db.get()utools.db.put()这两个方法我不知道怎么用了。有大神可以修改一下

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

  1. 使用

sql建表语句粘贴到左侧输入框,选择数据库类型和生成类型,点击生成即可,如果生成失败,建议看看配置里边是否填写了

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

6. MybaitsLogFormat

idea里边有一个插件,就是你选中了mybatis打印的日志,然后生成可执行的sql

为了方便写CURD代码,我在UTools写了个插件SqlConvert来生成代码!

点赞
收藏
评论区
推荐文章
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
九路 九路
3年前
【vscode折腾系列】更换vscode背景图
写前端代码时,用过webstorm,sublime,vscode,最终还是选择了vscode,主要原因是(好看)简洁的编程环境,丰富的插件功能,活跃的社区。不过无论是哪一个编辑器,长时间看着黑色/白色的背景难免单调,喜欢折腾(不专心写代码)的我开始想着给vscode换个背景,百度了一下,还真有人写了这样的一个插件background。  闲话少叙
捉虫大师 捉虫大师
2年前
发现一个开源项目优化点,点进来就是你的了
hello,大家好呀,我是小楼。最近无聊(摸)闲逛(鱼)github时,发现了一个阿里开源项目可以贡献代码的地方。不是写单测、改代码格式那种,而是比较有挑战的性能优化,最关键的是还不难,仔细看完本文后,有点基础就能写出来的那种,话不多说,发车!相信大家在日常写代码获取时间戳时,会写出如下代码:javalongtsSystem.currentTimeMi
Stella981 Stella981
2年前
Android 项目中文件夹作用(res文件夹详细介绍)
1\.src:存放所有的\.Java(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Flib.csdn.net%2Fbase%2Fjavase)源程序。2\.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。3\.assets:可以存放
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
MySQL数据库InnoDB存储引擎Log漫游(1)
作者:宋利兵来源:MySQL代码研究(mysqlcode)0、导读本文介绍了InnoDB引擎如何利用UndoLog和RedoLog来保证事务的原子性、持久性原理,以及InnoDB引擎实现UndoLog和RedoLog的基本思路。00–UndoLogUndoLog是为了实现事务的原子性,
Stella981 Stella981
2年前
PostgreSQL Oracle 兼容性之
Oracle使用sys\_guid()用来产生UUID值。 在PostgreSQL中有类似的函数,需要安装uuidossp插件。 如果用户不想修改代码,还是需要使用sys\_guid()函数的话,可以自己写一个。 如下:1.postgres\createextension"uuidossp";2.CREATE
Stella981 Stella981
2年前
JOptionPane修改图标
1.在Linux平台下.JOptionPane会显示Java默认的图标,在window平台不显示图标,如何替换这个图标了?2JOptionPane.setIcon(Icon)修改的是内容区域的icon,而不是左上角的Icon.所以需要通过修改Jdialog/Frame的图标来达到修改默认图标的问题.3.代码:if(JOptio
Stella981 Stella981
2年前
Hibernate纯sql查询结果和该sql在数据库直接查询结果不一致
问题:今天在做一个查询的时候发现一个问题,我先在数据库实现了我需要的sql,然后我在代码中代码:selectdistinctd.id,d.name,COALESCE(c.count_num,0),COALESCE(c.count_fix,0),COALESCE(c
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
雪橇僵尸
雪橇僵尸
Lv1
男 · 山东易途科技有限公司 · Java开发
一个爱好摸鱼的程序猿小说作者
文章
3
粉丝
0
获赞
0