idea 下划线字段转驼峰_Java如何实现数据库中表字段的下划线和驼峰式命名的Model相互转换,很方便的...-Go语言中文社区...

其实通过逆向工程,然后去配置一些config,就可以实现,从Table到Model的相互转换,而且,对于下划线命名的Table字段,实现驼峰式命名的Model ,有时候我们只是做个测试,或者自己基于数据的表,想快速建立Model,怎么实现呢!!

三种方式

第一种 IDEA + 可多行编辑的文本编辑器

第二种 简单的编辑器(除了windows自带的),正则替换

第三种 IDEA插件

一、准备工作,好点的编辑器,支持多行编辑的,IDEA就可以,还有UE,Hbuilder等

1.1 先查出某张表的所有字段,copy 一下,这是下划线命名的

user_id

brief

create_time

district

email

enable

facebook_id

favourite

is_lock_time

last_login_time

nickname

pass_word

phone

photo

twitter_id

wechat_id

nick_review

photo_review

instagram_id

device

type

customer_id

复制到IDEA中,放到List中

启动多行编辑,IDEA中同时按住,Ctrl Shift Alt 操作鼠标上下拉,即可多行编辑,同时左边加上双引号,Ctrl一下,同时跳到右边,再加上双引号,加上逗号,就好了

二、代码示例,基于Hutool实现

@Test

public void camelTest11() {

ArrayList list = Lists.newArrayList("user_id",

"brief",

"create_time",

"district",

"email",

"enable",

"facebook_id",

"favourite",

"is_lock_time",

"last_login_time",

"nickname",

"pass_word",

"phone",

"photo",

"twitter_id",

"wechat_id",

"nick_review",

"photo_review",

"instagram_id",

"device",

"type",

"customer_id");

List collect = list.stream().map(e -> StrUtil.toCamelCase(e)).collect(Collectors.toList());

System.out.println(collect);

}

输出

userId

brief

createTime

district

email

enable

facebookId

favourite

isLockTime

lastLoginTime

nickname

passWord

phone

photo

twitterId

wechatId

nickReview

photoReview

instagramId

device

type

customerId

然后再接着,复制到model中,多行编辑,就会很快完成,整个过程两分钟之内就可以完成。

第二种,一种更简单的操作方式,使用正则替换

下划线转驼峰式

[_]{1,1}([a-z] replace U$1

replace(使用regix),这里不知道为什么只能一个个replace替换,不能Replace ALl操作

驼峰式转下划线

([A-Z]) replace _L$1

也是一样的无法批量替换,其实也很方便的

第三种,插件方式,应该更简单,我就没去试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之下拉刷新的ListView

不废话,代码里面注释很详细,直接上代码: 自定义的RefreshableListView代码: 1 public class RefreshableListView extends ListView implements OnScrollListener {2 private View header; // ListView顶部布局3 private …

ib网卡命令_infiniband交换机配置命令总结

串口通过远程CRT登录,波特率9600用户名和密码都是adminDo you want to use the wizard for initial configuration?选择no打开ip routingsx1012 [standalone: master] (config) # ip routing设置mgmt0端口的ip地址sx1012 [standalone: master] (config) # interfac…

YYCache 设计思路

iOS 开发中总会用到各种缓存,最初我是用的一些开源的缓存库,但到总觉得缺少某些功能,或某些 API 设计的不够好用。YYCache (https://github.com/ibireme/YYCache) 是我新造的一个轮子,下面说一下这个轮子的设计思路。 内存缓存 通…

几何画板椭圆九种画法_如何利用几何画板自定义工具画椭圆

椭圆在数学中占有一定的比重,是中学时代必学的圆锥曲线之一,也是历来考试的重点和难点。几何画板作为专业的几何绘图工具,可以用来画椭圆图形。前面的教程学习了在几何画板中利用椭圆定义画椭圆的方法,其实我们还可以利用自定义工…

python 下的数据结构与算法---6:6大排序算法

顶先最后推荐:哈哈,意思是放到顶部强调其重要性,但是应该我总结的六种算法看完了后再看的一篇醍醐灌顶的文章 一:冒泡排序(Bubble Sort) 原理:假设有n个数,第一轮时:从第…

python将整数逆序_python练手入门小项目:字符串的妙用

题目来源:小行:python练手入门小项目详解(一)1 给任意一个的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。代码:def reversed_integer(number):assert type(number) is in…

精通 ASP.NET MVC 4 学习笔记(一)

这里记录着从 P132 到 P192 的内容。水分很足&#xff0c;大部分是书上的代码&#xff0c;我只加了一些基于我自己的理解的能帮助初学者看懂的注释&#xff0c;并且把书中的部分内容做了一些的拓展。 建立数据层 设置 DI 容器 /// <summary>/// 设置 DI 容器/// </sum…

python之 tkinter中菜单栏快速学习(菜单栏,弹出菜单等)

python之tkinter中菜单栏的快速学习 本文主要讲述菜单栏的一些应用&#xff0c;附上代码&#xff0c;供大家学习。 import tkinter#导入tkinter库 toptkinter.Tk()#创建一个主窗口 top.geometry(400x80000)#指定主窗口大小 top.wm_title(Menu菜单功能的实现) #设置标题名称 ma…

如何命令行远程连接centos_如何使用windows远程控制centOS桌面

如何远程控制centOS桌面? 如何使用windows远程控制centOS桌面?1.查看本机是否有安装vnc(centOS5默认有安装vnc)rpm -q vnc vnc-server如果显示结果为&#xff1a;package vnc is not installedvnc-server-4.1.2-14.e15_3.1那恭喜你&#xff0c;机器上已经安装了vnc&#xff0…

【大数据】Hadoop入门预告版

背景 当今世界&#xff0c;大数据无处不在&#xff0c;它影响到了我们的工作、生活和学习&#xff0c;并将继续施加更大的影响。 大数据用于描述这样的数据组&#xff0c;其规模超出了日常软件在可容忍期限内获取、管理和加工数据的能力。一些网络技术领先的公司持续地投资于昂…

Python ——告白小程序,添加微信号(快来设置你的freestyle吧)

朋友过生日&#xff0c;然后就在搜一些小程序&#xff0c;哈哈哈O(∩_∩)O哈哈~ 然后就搜到了一些表白的小程序&#xff0c; 然后再自己改了改&#xff0c;增加了一个添加微信的功能。然后加载了背景音乐&#xff0c;啦啦啦啦啦&#xff0c;赶紧告白起来吧 图片和音乐可以根据自…

airpodspro窃听模式_AirPods Pro实时收听怎么关闭? AirPods Pro实时收听的使用方法

苹果全新AirPods Pro增加了许多新功能。首先,是控制播放。苹果在AirPods Pro中放弃了敲击手势,并用杆上的力传感器取代了它。控制音乐或视频只需要简单的短按即可。一次按压即可播放或暂停当前播放。两次按压将跳至下一曲目,而三次挤压则向后移动。可以通过按压任一AirPods …

UML基础知识点

UML : unified Modeling Language 统一建模语言1.对系统问题进行分析和建模2.非专利的第三代建模和规约语言3.UML是一种开放的方法、用于说明、可视化、构建、编写一个正在开发的、面向对象的、软件密集系统的开放方法4.UML集成了Booch、OMT和面向对象软件工程的概念面向对…

如何实现listbox选项,然后双击鼠标实现选项的删除

如何实现双击鼠标左键然后删除列表框中的选项呢&#xff1f; 只需要两步&#xff1a; 第一步&#xff0c;建立listbox控件与鼠标事件的绑定并给一个跳转函数; 如本例中的listbox控件&#xff0c;绑定事件<Double-Button-1>&#xff0c;其含义是指双击鼠标左键&#xf…

因变量 方差膨胀系数_请问如何计算潜变量的方差膨胀因子(VIF)?

这里提供一个 Python 实现的方法和原理趣分析方差膨胀因子是非常经典缓解多元共线性的方法&#xff0c;原理简单&#xff0c;实现优雅&#xff0c;效果拔群。源代码源数据可私聊俺获取&#xff0c;每天固定时间查看和回复。原理趣析多重线性回归模型的主要假设之一是我们的预测…

下拉到底部加载更多

var p1; active_list();function active_list() {$.ajax({type: "GET",url: "{:U(User/glodLogList_data)}",data: {page:p},dataType: "json",success: function(data){if(datanull){$("#add_more").html(没有更多了);$("#add_m…

Print() 语句以及数字赋值语句 中if-else的使用

#print语句以及num里面if else 的变态语句 x10 num110 if x>8 else 20 #如果中间语句成立为True,则执行输出左边语句&#xff1b;否则为False 则输出右边语句 print(num1) num110 if x>15else 20 #如果中间语句成立为True,则执行输出左边语句&#xff1b;否则为False 则输…

幻世机器人_2014年科幻动作《幻世追踪/启动机械码》BD中英双字幕

◎译  名 幻世追踪/启动机械码(台)◎片  名 Vice◎年  代 2015◎国  家 美国◎类  别 动作/科幻/惊悚/冒险◎语  言 英语◎字  幕 中英双字幕◎IMDB评分 4.0/10 from 3,848 users◎文件格式 BD-RMVB◎视频尺寸 1280 x 720◎文件大小 1CD◎片  长 96…

单链表逆置

单链表的逆置问题&#xff0c;常常遇到&#xff0c;今天总结如下&#xff1a; 方法&#xff1a;头插法&#xff1a; 图示&#xff1a; 代码&#xff1a; //翻转单链表 ListNode* Revers(ListNode* pHead) {ListNode* newhead NULL;ListNode* cur pHead;while(cur){ListNode* …

if-else多级嵌套,输入3/4/5个数寻找最大值(太多了容易乱!!!)

哎呀呀&#xff0c;心累啊&#xff0c;玩这个多级嵌套&#xff0c;眼花~ 多级嵌套有序3个数&#xff08;找最大值&#xff09; a,b,ceval(input("a,b,c")) if a>b:pass #a (a,b)if a>c:print("max",a)if b>c:print(b,c)else:print(c,b)else:p…