java 数据库 字段名 转_Java正则表达式实现表字段名和驼峰式命名转换
Java正则表达式实现表字段名和驼峰式命名转换
在开发过程中,数据表中的字段名我们通常以“_”分隔(如:user_name),而在Java的实体类中我们的字段属性通常采用驼峰式命名。这样我们就避免不了对两种格式的字段名称做转换。以下是通过正则表达式实现的两种格式的相互转换,直接上代码:
package com.tonly.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CamelCaseTest {
public static void main(String[] args) {
System.out.println(camelize("user_name_type"));
System.out.println(decamelize("userNameType"));
}
/**
* 数据表字段名转换为驼峰式名字的实体类属性名
* @param tabAttr 数据表字段名
* @return 转换后的驼峰式命名
*/
public static String camelize(String tabAttr){
if(isBlank(tabAttr))
return tabAttr;
Pattern pattern = Pattern.compile("(.*)_(\\w)(.*)");
Matcher matcher = pattern.matcher(tabAttr);
if(matcher.find()){
return camelize(matcher.group(1) + matcher.group(2).toUpperCase() + matcher.group(3));
}else{
return tabAttr;
}
}
/**
* 驼峰式的实体类属性名转换为数据表字段名
* @param camelCaseStr 驼峰式的实体类属性名
* @return 转换后的以"_"分隔的数据表字段名
*/
public static String decamelize(String camelCaseStr){
return isBlank(camelCaseStr) ? camelCaseStr : camelCaseStr.replaceAll("[A-Z]", "_$0").toLowerCase();
}
/**
* 字符串是否为空
* @param cs 待检查的字符串
* @return 空:true; 非空:false
*/
public static boolean isBlank(final CharSequence cs) {
int strLen;
if (cs == null || (strLen = cs.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
}
}
测试结果:
java 数据库 字段名 转_Java正则表达式实现表字段名和驼峰式命名转换相关推荐
- idea 下划线字段转驼峰_Java如何实现数据库中表字段的下划线和驼峰式命名的Model相互转换,很方便的...-Go语言中文社区...
其实通过逆向工程,然后去配置一些config,就可以实现,从Table到Model的相互转换,而且,对于下划线命名的Table字段,实现驼峰式命名的Model ,有时候我们只是做个测试,或者自己基于数 ...
- SQL Server2019数据库查询所有数据库名、表名、表结构、表字段、主键方法演示,执行sql提示对象名‘user_tab_columns‘、 ‘user_cons_columns‘ 无效问题解决
SQL Server2019 数据库查询所有数据库名.表名.表结构.表字段.主键方法演示 第一章:查询方法 ① 查询所有数据库名 ② 查询所有表名方法 ③ 查询表结构.表字段方法 ④ 查询主键方法 第 ...
- 对应到对象 数据库驼峰_从源码角度理解Mybatis字段映射(一) - 驼峰式命名
凯伦说,公众号ID: KailunTalk,努力写出最优质的技术文章,欢迎关注探讨. 在上篇博客-[JDBC] 处理ResultSet,构建Java对象中提到,我们需要分析Mybatis在转换Resu ...
- mysql中修改表字段名/字段长度/字段类型详解
在mysql中我们对数据表字段的修改命令只要使用alter就可以了,下面我来给大家详细介绍mysql中修改表字段名/字段长度/字段类型等等一些方法介绍,有需要了解的朋友可参考. 先来看看常用的方法 M ...
- 修改mysql表的字段名_mysql中修改表字段名/字段长度/字段类型详解
在mysql中我们对数据表字段的修改命令只要使用alter就可以了,下面我来给大家详细介绍mysql中修改表字段名/字段长度/字段类型等等一些方法介绍,有需要了解的朋友可参考. 先来看看常用的方法 M ...
- java中驼峰编码,驼峰式命名法_小驼峰式命名法编程_java中getter和setter
人们交流靠各种语言,每行都有每行的所谓的"行话".程序员也不例外,众所周知,程序员都是用代码进行交流的.那么除了在代码中的注释之外, 程序员如何读懂别人的程序呢? 当然,程序员之间 ...
- oracle修改表字段名备注_Oracle修改表或者字段的注释
转自:https://www.cnblogs.com/fx-blog/p/7132833.html 语句: comment on table 表名 is '表的注释信息'; comment on co ...
- 下划线与驼峰互转(数据库字段转驼峰式命名)
一.前言 大家在日常开发过程中,肯定遇到过需要将数据库字段读出,转换为驼峰式,或者将驼峰式反解析到数据库字段的场景,小编在写代码生成工具类时,编写了驼峰与数据库字段下划线互转功能,各位可以拿走直接使用 ...
- oracle修改表字段名备注_oracle 增加修改删除表字段,添加修改表、以及表中字段的备注...
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 修改字段的语法:alter ...
最新文章
- 服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
- [转]自用类库整理之SqlHelper和MySqlHelper
- ppt页面样式html,PPT排版:一页PPT做出8种样式
- 12月16日要做的事
- css判断不同分辨率显示不同宽度布局实现自适应宽度
- CentOS7下使用yum安装MariaDB
- union的限制, 临时表大小的优化
- 内部控制中对权限分配的要求、权限分配的实现方法
- Spark SQL External DataSource外部数据源
- 2017mysql下载_mysql for visual studio
- libiconv安装
- Bootstrap基础九辅助类
- UE5导入MetaHuman虚拟头像后,连接live link face,面部表情捕捉出错修正
- 【LCA】BZOJ1776-[Usaco2010 Hol]cowpol 奶牛政坛
- 前端学起来特别吃力,新人入前端怎么学?
- phpStudy的建站与踩坑,与微信公众号对接
- 读后感:走钢索的人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十七)
- 为C1Menu for Silverlight添加动画显示效果
- 办公室服务器文件管理制度,办公室文件管理制度
- linux shell 实现整点报时
热门文章
- SAP ABAP里存在Java List这种集合工具类么?CL_OBJECT_COLLECTION了解一下
- 如何在Eclipse里方便地进行markdown文件编辑
- 如何通过Restful API的方式读取SAP Commerce Cloud的Product Reference
- how is abap.js being loaded
- SAP UI5里的senderActive标志位
- 如何处理TCPSocket客户端与服务器端连接中断后的异常
- ABAP Method remote comparison
- 某些equipment无法顺利download到CRM的原因
- CM: Create BAdI implementation for Webservice enabled word document
- 测试SAP BRF+ ruleset