可将数据库表字段转换为Java代码驼峰字段SQL的实现

简介: 经常要将数据库表字段映射到实体对象,除了逆向工程,还可以通过SQL的方式将表字段列转换为Java代码驼峰字段。

通过SQL的方式将表字段列转换为Java代码驼峰字段的SQL脚本:
select colName,case when line=0 then colName else head||upper end field from
(
select lower(column_name) as colName, instr(lower(column_name),'_') line,
substr(lower(column_name),0,instr(lower(column_name),'_')-1) head,
replace(initcap(substr(lower(column_name),instr(lower(column_name),'_')+1)),'_','') upper
from user_tab_columns where lower(table_name) = 'XXX'
);

生成java代码:
select colName,case when line=0 then dataType || colName || ';' else dataType || head||upper ';' end field from
(
select lower(column_name) as colName, instr(lower(column_name),'_') line,
substr(lower(column_name),0,instr(lower(column_name),'_')-1) head,
replace(initcap(substr(lower(column_name),instr(lower(column_name),'_')+1)),'_','') upper,
case when data_type = 'NUMBER' then 'private Integer ' when data_type='VARCHAR2' then 'private String ' when data_type = 'TIMESTAMP(0)' then 'private DateTime ' else data_type end dataType
from user_tab_columns where lower(table_name) = 'XXX'
);

生成java代码包括列注释:

select colName,

   '/**' || comments || '*/' || chr(9) || (case
     when line = 0 then
      dataType || colName || ';'
     else
      dataType || head || upper ';'
   end) field,
   comments

from (select lower(t1.column_name) as colName,

           instr(lower(t1.column_name), '_') line,
           substr(lower(t1.column_name),
                  0,
                  instr(lower(t1.column_name), '_') - 1) head,
           replace(initcap(substr(lower(t1.column_name),
                                  instr(lower(t1.column_name), '_') + 1)),
                   '_',
                   '') upper,
           case
             when t1.data_type = 'NUMBER' then
              'private Integer '
             when t1.data_type = 'VARCHAR2' then
              'private String '
             when t1.data_type = 'TIMESTAMP(0)' then
              'private DateTime '
             else
              t1.data_type
           end dataType,

t2.comments

      from user_tab_columns t1
      left join user_col_columns t2 on t1.table_name = t2.table_name
                                   and t1.column_name = t2.column_name
     where lower(t1.table_name) = 'XXX');
相关文章
|
2月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
205 6
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
3月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
3月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
401 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
3月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
316 8
|
4月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
489 8
|
5月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
462 0
|
6月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
493 62
|
6月前
|
SQL 人工智能 关系型数据库
GitHub 热门!MindsDB 破解 AI + 数据库瓶颈,究竟有什么惊艳亮点?只需 SQL 即可实现智能预测
MindsDB 是一款将 AI 能力直接注入数据库的开源工具,支持 MySQL、PostgreSQL 等多种数据库连接,通过 SQL 即可完成模型训练与预测。它提供 AutoML 引擎、LLM 集成、联邦查询等功能,简化 MLOps 流程,实现数据到智能的无缝衔接。项目在 GitHub 上已获 32.4k 星,社区活跃,适用于客户流失预警、推荐系统、情感分析等场景。开发者无需深入模型细节,即可快速构建智能解决方案。项目地址:https://github.com/mindsdb/mindsdb。
1048 0

热门文章

最新文章