自动生成代码工具 字符串工具类

                                  自动生成代码工具 字符串工具类

import org.apache.commons.lang.StringUtils;

import com.ijwt.exception.JavaTypeException;
import com.ijwt.exception.MybatisTypeException;

/**
 * @author InJavaWeTrust
 */
public enum UtilString {
	
	INSTANCE;
	
	/**
	 * 首字母大写
	 * @param str
	 * @return
	 */
	public String capitalize(String str) {
		return StringUtils.capitalize(str);
	}
	
	/**
	 * 将列名转换成java类属性名称</br>
	 * 如果表中列名有下划线,则去掉下划线,且下划线后首字母大写其他字母小写(驼峰式声明变量)
	 * @param columnName 表中列名
	 * @return java类属性名
	 */
	public String columnNameToJavaName(String columnName) {
		if (columnName == null) {
			return null;
		}
		StringBuilder fieldName = new StringBuilder();
		boolean toUpper = false;
		for (int i = 0; i < columnName.length(); i++) {
			char ch = columnName.charAt(i);
			if (ch == '_') {
				toUpper = true;
			} else if (toUpper) {
				fieldName.append(Character.toUpperCase(ch));
				toUpper = false;
			} else {
				fieldName.append(Character.toLowerCase(ch));
			}
		}
		return fieldName.toString();
	}
	
	/**
	 * 将数据库表中列类型转换成java变量类型
	 * @param columnType 数据库类型
	 * @return java类型
	 * @throws JavaTypeException 
	 */
	public String columnTypeToJavaType(String columnType) throws JavaTypeException {
		String javaType = "";
		switch (columnType) {
		case "BIT":          javaType = "Boolean"; break;
		case "BIGINT":       javaType = "java.math.BigInteger"; break;
		case "BLOB":         javaType = "byte[]"; break;
		case "CHAR":         javaType = "String"; break;
		case "DATE":         javaType = "java.util.Date"; break;
		case "DATETIME":     javaType = "java.util.Date"; break;
		case "DECIMAL":      javaType = "java.math.BigDecimal"; break;
		case "DOUBLE":       javaType = "Double"; break;
		case "FLOAT":        javaType = "Float"; break;
		case "INT":          javaType = "Integer"; break;
		case "INT UNSIGNED": javaType = "Integer"; break;
		case "LONGBLOB":     javaType = "byte[]"; break;
		case "LONGTEXT":     javaType = "byte[]"; break;
		case "MEDIUMBLOB":   javaType = "byte[]"; break;
		case "MEDIUMTEXT":   javaType = "byte[]"; break;
		case "MEDIUMINT":    javaType = "Integer"; break;
		case "SMALLINT":     javaType = "Integer"; break;
		case "TEXT":         javaType = "String"; break;
		case "TINYBLOB":     javaType = "byte[]"; break;
		case "TINYTEXT":     javaType = "byte[]"; break;
		case "TIME":         javaType = "java.util.Date"; break;
		case "TIMESTAMP":    javaType = "java.util.Date"; break;
		case "TINYINT":      javaType = "Integer"; break;
		case "VARBINARY":    javaType = "byte[]"; break;
		case "VARCHAR":      javaType = "String"; break;
		case "YEAR":         javaType = "String"; break;
		default: javaType = null;
		}
		if (javaType == null) {
			throw new JavaTypeException("java类型转换异常,未知的数据库字段类型 [" + columnType + "]");
		}
		return javaType;
	}
	
	/**
	 * 将MySQL数据库类型转换成MyBatis配置文件中jdbcType类型
	 * @param sqlTypeName 数据库类型
	 * @return MyBatis配置文件jdbcType类型
	 * @throws MybatisTypeException 
	 */
	public String mySqlTypeToJdbcType(String mySqlType) throws MybatisTypeException {
		String jdbcType = "";
		switch (mySqlType) {
		case "BIT":          jdbcType = "BIT"; break;
		case "BIGINT":       jdbcType = "BIGINT"; break;
		case "BLOB":         jdbcType = "BLOB"; break;
		case "CHAR":         jdbcType = "CHAR"; break;
		case "DATE":         jdbcType = "TIMESTAMP"; break;
		case "DATETIME":     jdbcType = "TIMESTAMP"; break;
		case "DECIMAL":      jdbcType = "DECIMAL"; break;
		case "DOUBLE":       jdbcType = "DOUBLE"; break;
		case "FLOAT":        jdbcType = "FLOAT"; break;
		case "INT":          jdbcType = "INTEGER"; break;
		case "INT UNSIGNED": jdbcType = "INTEGER"; break;
		case "LONGBLOB":     jdbcType = "BLOB"; break;
		case "LONGTEXT":     jdbcType = "BLOB"; break;
		case "MEDIUMBLOB":   jdbcType = "BLOB"; break;
		case "MEDIUMTEXT":   jdbcType = "BLOB"; break;
		case "MEDIUMINT":    jdbcType = "INTEGER"; break;
		case "SMALLINT":     jdbcType = "SMALLINT"; break;
		case "TEXT":         jdbcType = "VARCHAR"; break;
		case "TINYBLOB":     jdbcType = "BLOB"; break;
		case "TINYTEXT":     jdbcType = "BLOB"; break;
		case "TIME":         jdbcType = "TIMESTAMP"; break;
		case "TIMESTAMP":    jdbcType = "TIMESTAMP"; break;
		case "TINYINT":      jdbcType = "TINYINT"; break;
		case "VARBINARY":    jdbcType = "BLOB"; break;
		case "VARCHAR":      jdbcType = "VARCHAR"; break;
		case "YEAR":         jdbcType = "VARCHAR"; break;
		default: jdbcType = null;
		}
		if (jdbcType == null) {
			throw new MybatisTypeException("mybatis类型转换异常,未知的数据库字段类型 [" + mySqlType + "]");
		}
		return jdbcType;
	}
	
}

 

字符串处理工具类及扩展方法 在软件开发中,工具类是实现常见功能的一组静态方法和属性集合,它们不依赖特定的实例状态。这些工具类被设计为模块化和可重用的代码块,可提供方便且通用的功能,以减少代码重复并提高开发效率。格式化工具主要指那些能够按照预定格式输出字符串的工具库或语言内置功能。在不同的编程语言中,这些功能可能有所不同,但基本原理相似:将数据(如变量、表达式等)替换到字符串中的指定位置,以形成最终的输出格式。举例来说,在Python中,格式化字符串可以使用f-string(格式化字符串字面量)来实现,如。 阅读详情

相关推荐

深入探讨字符串处理工具类与实践

在IT开发中,对字符串的操作几乎无处不在,而不同API的性能往往对程序效率产生巨大影响。为了编写高效的代码,开发者不仅需要了解常见的字符串操作API,更需要掌握性能分析与优化的技巧。此外,随着项目需求的演进,有时候还需要自定义一些字符串工具类来满足特定场景的需要。这一章将详细探讨字符串操作API的性能分析与自定义工具类的实践。在某些特定业务场景下,开箱即用的字符串操作API可能无法满足需求,这时就需要自定义字符串工具类。这里给出一个简单的自定义字符串工具类示例:left++;

weixin_42097508的博客 890

随机字符串生成器

这段代码通过从预定义字符集中随机选择字符,构建一个不重复的随机字符串,最终输出到控制台。它可以用于生成唯一的标识符、令牌等场景。

m0_67056443的博客 838

字符串生成工具

一个小巧方便的工具: 用于随机生成字符串,支持字母,数字,符号,中文。

python 自动生成代码 生成 python html java 等 code 把字符串当做代码执行

模板引擎的使用场景非常广泛,可以用于自动生成代码、邮件模板、网页模板、报告生成等。比如在 Web 开发中,可以使用模板引擎来动态生成 HTML 页面,从而实现数据与展示的分离,提高代码的可维护性和可扩展性。在机器学习领域,可以使用模板引擎来自动生成文档、报告和代码等,提高工作效率。另外,模板引擎还可以用于数据处理和数据分析等领域,例如数据报表的生成等。在模板中,{% %} 表示控制语句,如 for 循环和 if 判断等。生成的 java 代码。生成 html 代码。

nongcunqq的博客 767

string字符串自动格式化单引号分隔工具

可以自动帮你把字符串以单引号分隔,方便sql中in查询

3.5.3以太网ETH TC8-PMA物理层测试

英文原版-OA_Automotive_Ethernet_ECU_TestSpecification_Layer_1_100BASE-T1_v3.0.pdf。PMA测试时各个测试项目所进入的测试模式不同,如TX_01对应测试模式1;TX_04对应测试模式5;例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。TX_07对应测试模式5;物理层测试主要分为两部分:IOP测试(包括链接时间,信号质量,线路诊断),PMA测试。

qq_28664971的博客 7698

mysql中jdbcType的匹配

mysql与java类型匹配关系

qq_33381052的博客 6612

Kubernetes集群环境搭建与初始化

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

m0_75254642的博客 1526

mybatis jdbcType表数据类型对应

Mybatis中javaType和jdbcType对应关系:JDBC Type              Java Type CHAR                   String VARCHAR                 String LONGVARCHAR              String NUMERIC                  java.math.BigDecimal DECIMAL                  java.math.BigDecimal BIT  ...

nickDaDa的博客 2684

ZYNQ实战:PS端驱动DMA实现高效数据流转与验证

本文详细介绍了在ZYNQ平台上通过PS端驱动DMA实现高效数据流转的实战方法。从ZYNQ的PS与PL数据交互基础出发,深入解析DMA核心价值,包括硬件平台搭建、Vivado配置、PS端软件架构设计及性能优化技巧,帮助开发者提升数据传输效率与系统性能。

weixin_29192141的博客 440

【Python爬虫】股票信息定向爬取

【Python爬虫】股票信息定向爬取:通过requests-bs4-re技术路线爬虫获取上交所和深交所所有股票的名称和交易信息

qq_39321802的博客 1505

mybatis 与java mysql 数据类型对应关系

Mybatis中javaType和jdbcType对应关系 JDBCType JavaType CHAR String 建议使用 mysql char(1) 代替boolean 0 , 1 VARCHAR String LONGVARCHAR Strin...

足球带我奔跑 8107

U-Net图像分割实战:从论文解析到PyTorch代码实现

本文深入解析了U-Net图像分割模型的经典架构与核心思想,并提供了从零开始的PyTorch代码实现教程。通过详细拆解编码器-解码器结构、跳跃连接等关键组件,手把手指导读者构建完整的U-Net网络,涵盖数据准备、模型训练、推理部署全流程,是掌握图像分割实战技能的实用指南。

fire9的博客 343

自动生成代码工具 文件工具类

自动生成代码工具 文件工具类 import java.io.File; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.slf4j.Lo...

4万+

保姆级教程:ABAP 通过 HTTP POST 调用 OData 服务创建业务数据的具体例子

笔者之前的文章发布之后,有朋友在评论区留言,询问 ABAP 除了 Web Service 之外,是否也支持 HTTP 呢?ABAP 这么强大的语言,支持 HTTP 当然不在话下。网上有很多在 ABAP 系统基于 CL_HTTP_CLIENT 工具类,通过 HTTP 协议和第三方系统交互的代码例子。本文介绍笔者项目中一个实际例子,实现的是在 ABAP 系统 A 通过 HTTP 调用 OData 服务,在 ABAP 系统 B 创建业务数据的需求。下面我们按照这个套路来一步步实现。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 704

如何让C++程序生成dump文件?生成dump文件的方式有哪些?如何使用Windbg分析dump文件?

本文详细介绍了如何让C++程序生成dump文件、生成dump文件的多种方式以及如何使用Windbg分析dump文件,并给出了对应的实战分析案例,有一定的实战参考价值。

dvlinker的技术专栏 5万+

工具类篇【一】String字符串

前言 String是Java编程中最常使用的数据类型之一,或者说是java.lang包中的最常使用的元素之一,String 字符串既能作为基本数据类型存储在数据库中,又能作为大文本结构展示在前端,还能方便得跟其他数据类型(如:int、long、Double、BigDecimal等)快速转换。也能把Date转换为各种各样的格式。 一、常用方法 截取字符串方法 str原字符串 val从字符串的下标位置开始截取 /** * @author * @DateTime 2017年12月5

程序大视界 2088

Transformer实战(38)——视觉Transformer (Vision Transformer, ViT)

Transformer 在自然语言处理 (NLP) 领域取得了显著成就,在许多不同的任务中都表现出色。在本节中,我们将探索视觉 Transformer (Vision Transformer, ViT) 模型。正如 NLP 领域创建了多种模型一样,视觉领域也开发了多种模型,每种模型都为计算机视觉提供了新的视角。通过本节,将学习如何使用 ViT 等模型进行计算机视觉任务,了解基于 Transformer 的预训练计算机视觉模型的工作原理,以及如何针对特定任务进行微调。

盼小辉丶的博客 2920

Java字符串处理工具类

字符串是在程序开发中最常见的,经过多年不断积累,相关的工具类已经非常庞大,为了方便大家了解,这里根据个人开发经验,进行整理和归类,提供方便、简化的字符串处理方法,以支持大家在应用程序中更轻松地处理字符串。当然,日常开发中一般不会自己去编写工具类,更多是使用已经比较成熟的第三方库中提供的工具类,例如org.apache.commons.lang.StringUtils。

爪哇菌的博客 1826

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

字符串工具类(一)

将字符串转换成数组、 将数组变换成字符串、判断数组中是否含有指定字符串、获得指定长度的字符串的描述信息。

三人行 569

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

字符串工具类

格式化字符串;清空所有的全角和半角空格;首字母转大写其他不变;循环拼接字符串;获取插入sql语句;字符串组装;判断字符串是否是NULL或者空字符;获取更新sql语句

似水流年风萧兮 525

【Java工具类】字符串处理

*** 获取最后一个.之后的字符串* @return*//*** 获取最后一个指定分隔符之后的字符串* @return*/return "";

阿志的博客 1051

Hutool工具包的工具类和方法整理

【代码】Hutool工具包的工具类和方法整理。

青春不散场的专栏 3164

java字符串工具类

一、java字符串工具类 package 包路径; import org.apache.commons.lang.StringUtils; public class StringUtil { /** * 字符串隐藏部分内容方法 *  * @param str *            待处理字符串 * @param start *            前面保留长度 *

IRhythm的博客 1399

Java字符串转16 进制工具类Hex.java

Java字符串转16 进制工具类Hex.java 源代码下载地址:http://www.zuidaima.com/share/1550463378410496.htm

springmvc_springdata的专栏 6610
上一篇: 自动生成代码工具 模板工具类
下一篇: 自动生成代码工具 配置文件工具类
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值