当前位置: 首页 > news >正文

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

-1. 前言

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

  • Sql-Parsee
  • Sql-Parser-ui

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项目

在这里插入图片描述

  1. 填写项目信息

在这里插入图片描述

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

在这里插入图片描述

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. 功能说明

使用说明

  • 使用说明
  • MybatisLogFormat

1. 列转in

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

  • 列转in语句

在这里插入图片描述

  • 添加括号

在这里插入图片描述

2. 列转foreach

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

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

id,nick_name,user_id

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

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

  • 字段转foreach

在这里插入图片描述

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

在这里插入图片描述

3. 批量插入

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

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

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

在这里插入图片描述

4. 批量更新

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

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

在这里插入图片描述

5. 代码生成

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

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

在这里插入图片描述

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

在这里插入图片描述

  1. 查看模板

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

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

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

在这里插入图片描述

  1. 使用

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

在这里插入图片描述

6. MybaitsLogFormat

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

在这里插入图片描述

相关文章:

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

-1. 前言 为了方便摸鱼&#xff0c;我之前写过一个通过sql生成代码的工具&#xff0c;但是服务器到期了&#xff0c;也就懒得重新部署了。 技术框架是 SpringBoot MybatisPlus Velocity Vue ElementUI Sql-ParseeSql-Parser-ui 0. Utools应用安装 官网地址: https://u.too…...

在国产芯片上实现YOLOv5/v8图像AI识别-【2.2】RK3588上C++开发环境准备及测试更多内容见视频

本专栏主要是提供一种国产化图像识别的解决方案&#xff0c;专栏中实现了YOLOv5/v8在国产化芯片上的使用部署&#xff0c;并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。 B站配套视频&#xff1a;https://www.bilibili.com/video/BV1or421T74f 板子…...

2024数据资产入表财务实操手册

关注公众号《方案驿站》&#xff0c;并私信&#xff1a;2024数据资产入表财务实操手册&#xff0c;可获取本文pdf文件。...

react.16+

1、函数式组件 在vite脚手架中执行&#xff1a; app.jsx: import { useState } from react import reactLogo from ./assets/react.svg import viteLogo from /vite.svg import ./App.cssfunction App() {console.log(this)return <h2>我是函数式组件</h2> }exp…...

如何实现MySQL对某一张表的binlog日志进行记录

在 MySQL 中&#xff0c;使用触发器&#xff08;Triggers&#xff09;来记录表的变更是一种常见的方法。下面是具体的配置和步骤&#xff1a; 1. 创建日志表 首先&#xff0c;需要创建一个日志表&#xff0c;用于存储变更记录。 CREATE TABLE my_table_log (id INT AUTO_INC…...

使用requests库进行网络爬虫:入门指南

在数据收集与分析的广阔领域中&#xff0c;网络爬虫是一项基础而强大的技能。requests库是Python中用于发送HTTP请求的第三方库&#xff0c;它简洁易用&#xff0c;非常适合初学者学习网络爬虫。本文将带你一步步了解如何使用requests库进行基本的网络爬虫操作。 一、安装requ…...

实验5-1 使用函数计算两点间的距离

本题要求实现一个函数&#xff0c;对给定平面任意两点坐标(x1,y1)和(x2,y2)&#xff0c;求这两点之间的距离。 函数接口定义&#xff1a; double dist( double x1, double y1, double x2, double y2 );其中用户传入的参数为平面上两个点的坐标(x1, y1)和(x2, y2)&#xff0c;函…...

免费!OpenAI发布最新模型GPT-4o mini,取代GPT-3.5,GPT-3.5退出历史舞台?

有个小伙伴问我&#xff0c;GPT-4O mini是什么&#xff0c;当时我还一脸懵逼&#xff0c;便做了一波猜测&#xff1a; 我猜测哈&#xff0c;这个可能是ChatGPT4o的前提下&#xff0c;只支持文本功能的版本&#xff0c;速度更快 结果&#xff0c;大错特错。 让我们一起看看Open…...

目标检测损失计算部分(YOLO)

ComputeLoss 标准化坐标的增益张量 标准化坐标的增益张量&#xff08;gain tensor&#xff09;用于将归一化的目标转换为特定特征层的网格尺度&#xff0c;以便进行匹配和计算。 在目标检测模型中&#xff0c;输入图像被划分为多个网格&#xff0c;每个网格负责预测多个锚框…...

Swift 方法

Swift 方法 Swift 是一种强大的编程语言,用于开发 iOS 和 macOS 应用程序。在 Swift 中,方法是一段代码,它定义了执行特定任务的步骤。方法可以提高代码的可重用性和可维护性。本文将介绍 Swift 方法的基本概念、语法和用法。 1. 基本概念 1.1 方法定义 方法是一段代码,…...

哪些牌子充电宝性价比比较高?目前公认比较好用充电宝都在这儿!

在这个科技飞速发展的时代&#xff0c;充电宝已经成为我们生活中不可或缺的一部分。然而&#xff0c;在享受充电宝带来的便利时&#xff0c;我们不能忽视一个至关重要的问题——安全性。随着无线充电宝的普及&#xff0c;大家对于“无线充电宝哪个牌子更好&#xff1f;”的疑问…...

计算机网络必会面经

1.键入网址到网页显示&#xff0c;期间发生了什么 2.在TCP/IP网络模型中。TCP将数据进行分段后&#xff0c;为什么还需要IP层继续分片 3.详细说明tcp三次握手&#xff0c;为什么是三次&#xff0c;若每次握手丢了&#xff0c;解决办法是什么 4.详细说明tcp四次挥手&#xff…...

深入理解 Go 数组、切片、字符串

打个广告&#xff1a;欢迎关注我的微信公众号&#xff0c;在这里您将获取更全面、更新颖的文章&#xff01; 原文链接&#xff1a;深入理解 Go 数组、切片、字符串 欢迎点赞关注 前言 为什么在一篇文章里同时介绍数组、切片、字符串&#xff0c;了解这三个数据类型底层数据结构…...

STM32下的HAL库U盘数据读写

最近在使用FreeRTOS操作U盘数据读取&#xff0c;与裸机开发区别不大&#xff0c;只要注意默认分配的栈大小就行 FATFS简介 FATFS 是一个完全免费开源的 FAT 文件系统模块&#xff0c;专门为小型的嵌入式系统而设计。它完全用标准 C 语言编写&#xff0c;所以具有良好的硬件平…...

JavaScript(20)——事件委托

事件委托是利用事件流的特征解决一些开发需求的知识技巧 优点&#xff1a;减少注册次数&#xff0c;提高程序性能 原理&#xff1a;利用事件冒泡的特点。 给父元素注册事件&#xff0c;当我们触发子元素的时候&#xff0c;会冒泡到父元素上&#xff0c;从而触发父元素事件。…...

Linux系统安装opencv

在Linux系统上安装OpenCV时&#xff0c;使用pip install opencv-python-headless是一个常见的选择。以下是安装OpenCV的步骤总结&#xff1a; 安装步骤&#xff1a; 更新系统软件包&#xff08;可选&#xff09;&#xff1a; sudo apt update sudo apt upgrade安装pip&#xf…...

nginx反向代理+nginx黑白名单+nginx负载均衡+平滑升级+配置jdk环境-7.30

一、反向代理 1.前端服务器配置 前端服务器&#xff1a;用于接收和响应客户端&#xff0c;代理另一台主机 Nginx 安装 (1).下载安装nginx [rootweb ~]# wget https://nginx.org/download/nginx-1.26.1.tar.gz (2).解压 [rootweb ~ ]# tar -zxvf nginx-1.26.1.tar.gz (3…...

C# Unity 面向对象补全计划 之 访问修饰符

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 本系列旨在通过补全学习之后&#xff0c;给出任意类图都能实现并做到逻辑上严丝合缝...

JAVA多线程设计模式 (多线程程序的衡量标准)

前言 如果你对一个程序的评价方式还停留在“这个程序写得不错”、“这个程序写得太差”的程度&#xff0c;这样很难看出你是否确实分析了程序的构造。不要只是“好不好”应该要有一个“好在哪里&#xff0c;不好在哪里”的评量标准。 一、下载地址 下载地址&#xff1a;JAVA…...

消息队列使用

消息队列在分布式系统中扮演着非常重要的角色,其主要用途包括但不限于以下几点: 解耦: 消息队列可以减少应用程序之间的直接依赖,使系统各部分更加独立。例如,在一个电子商务网站中,订单系统可以将订单信息发送到消息队列中,而不必直接调用库存系统。库存系统可以从队列…...

别再死记硬背公式了!用Simulink玩转单相全桥逆变,从方波驱动到IGBT参数设置全解析

用Simulink玩转单相全桥逆变&#xff1a;从方波驱动到IGBT参数设置的实战指南 电力电子领域的学习常常陷入公式推导的泥潭&#xff0c;而Simulink提供的可视化仿真环境就像一盏明灯。想象一下&#xff0c;当你调整一个参数就能立即看到波形变化&#xff0c;比纸上推导要直观十倍…...

学术写作“变形记”:书匠策AI如何让课程论文从“青铜”变“王者”——解锁AI时代论文写作新姿势

论文写作&#xff0c;曾是无数学生的“噩梦”&#xff1a;选题撞车、文献堆积如山、逻辑混乱如麻、格式调整让人抓狂……如今&#xff0c;随着人工智能技术的爆发&#xff0c;学术写作的“游戏规则”正在被彻底改写。书匠策AI&#xff08;官网&#xff1a;www.shujiangce.com&a…...

网络通信技术基础知识,网络通信技术数据包介绍

网络通信技术是关键技术之一&#xff0c;对于网络通信技术&#xff0c;我们应对其有所了解。为增加大家对网络通信技术的认识&#xff0c;本文将对网络通信技术的数据包结构和原理予以介绍。如果你对网络通信技术存在兴趣&#xff0c;不妨继续往下阅读哦。 在网络通信中, "…...

什么是焦糖布丁理论?用 JTBD 做软件产品设计的四步法

“焦糖布丁理论”其实是对 Jobs to Be Done&#xff08;JTBD&#xff0c;待办任务理论&#xff09; 的一种本土化、形象化的称呼&#xff0c;源自哈佛商学院教授 克莱顿克里斯坦森&#xff08;Clay Christensen&#xff09; 在其著作《与运气竞争》&#xff08;Competing Again…...

保姆级教程:手把手教你用PHPStudy本地搭建GaussDB开发环境(附JDBC连接避坑指南)

从零搭建GaussDB开发环境&#xff1a;PHPStudy集成与JDBC连接实战 在数据库技术快速迭代的今天&#xff0c;国产数据库正逐渐成为企业级应用的新选择。GaussDB作为一款高性能分布式数据库&#xff0c;其学习门槛却让不少开发者望而却步。本文将带你绕过那些官方文档中语焉不详的…...

Pixel Aurora Engine实战落地:为像素RPG自动生成NPC对话头像与场景贴图

Pixel Aurora Engine实战落地&#xff1a;为像素RPG自动生成NPC对话头像与场景贴图 1. 像素游戏开发者的新利器 想象一下这样的场景&#xff1a;你正在开发一款像素风格的RPG游戏&#xff0c;需要为上百个NPC设计独特的对话头像&#xff0c;还要制作大量场景贴图。传统方法下…...

Qwen3.5-9B自动化:GitHub Actions触发模型推理+PR评论生成

Qwen3.5-9B自动化&#xff1a;GitHub Actions触发模型推理PR评论生成 1. 项目概述 Qwen3.5-9B是一个拥有90亿参数的开源大语言模型&#xff0c;具备强大的逻辑推理、代码生成和多轮对话能力。最新版本还支持多模态理解&#xff08;图文输入&#xff09;和长达128K tokens的上…...

Qwen3-14B私有部署镜像算法题求解助手:从理解到实现

Qwen3-14B私有部署镜像算法题求解助手&#xff1a;从理解到实现 1. 为什么算法工程师需要AI助手 算法工程师和求职者每天都要面对各种算法问题&#xff0c;从简单的排序到复杂的动态规划。传统方式下&#xff0c;我们需要反复查阅资料、手动编写测试用例、调试代码&#xff0…...

SeqGPT-560M智能邮件分类系统实战

SeqGPT-560M智能邮件分类系统实战 1. 引言&#xff1a;邮件管理的痛点与解决方案 每天打开邮箱&#xff0c;看到堆积如山的未读邮件&#xff0c;是不是感觉头大&#xff1f;工作邮件、会议通知、促销信息、垃圾邮件全都混在一起&#xff0c;找重要邮件就像大海捞针。手动分类…...

CMake + VTK 编译

CMake VTK 编译 1下载 1 CMake下载 https://cmake.org/download/#older2 VTK 下载 https://gitlab.kitware.com/vtk/vtk/-/tags2 安装和解压缩 3 配置CMake 这一部分忘了截图 &#xff0c;可以查看这里的步骤&#xff0c;基本一致 https://blog.csdn.net/weixin_42964413/arti…...