mysql 数据迁移至oracle, 程序查询数据遭遇oracle字段大写问题

问题描述

场景: 之前系统用mysql数据库,很多数据经过hibernate如此查出 public List<Map<String, Object>> getAllPortalPorletItemLstUnderWorkZoneSiteByWorkZoneSiteId(final long projectId, final long orgRoleId,final long workZoneSiteId) {List<Map<String, Object>> list = this.hibernateTemplate.execute(new HibernateCallback<List<Map<String, Object>>>() {public List<Map<String, Object>> doInHibernate(Session session) throws HibernateException,SQLException {List find = null;String sql = "select t2.* , t1.title ,t1.showTitle, t1.type, t1.isLocal, t1.url,t1.maxUrl,t1.defaultHeight,t1.defaultWidth, t1.status "+ "from portal_item as t1,portal_default_workzonesite_item as t2 "+ "where t1.status=1 and t1.id=t2.portalItemId and t2.workZoneSiteId='"+ workZoneSiteId+ "' and t2.projectId='"+ projectId+ "' and t2.orgRoleId='"+ orgRoleId + "'";SQLQuery query = session.createSQLQuery(sql);query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);find = query.list();return find;}});return list;}现在改为oracle之后,表字段全是大写,经过sql查出的放回Map中的key全是大写的, 这个一个Map要传递到action 甚至页面上, 之前key全是mysql中的数据字段(小写,有驼峰规则),现在全变成大写了。请问,谁有好的解决经验,在DAO这层拿到Map时就把里面的key全转化成之前驼峰规则的key(mysql里的小写)值吗?? 您的回答,是我学习的动力,不甚感激!! 问题补充:比如我需要的数据是title,showTitle,isLocal ,而现在查询出来的是TITLE,SHOWTITLE,ISLOCAL

解决方案

在查询的字段后面加as试试
解决方案二:
很简单啊,让mysql忽略大小写敏感就行了,这样随便你定义什么规则,驼峰也好,马峰也好。。。。在配置文件my.conf中mysqld字段增加lower_case_table_name=1,1为不区分大小写,0是区分大小写,然后重启mysql即可
解决方案三:
你可以定义一个全局静态Map,保存大写->驼峰的对应关系,然后就很容易通过一个全局静态方法去适配一下,

时间: 2024-10-23 07:50:56

mysql 数据迁移至oracle, 程序查询数据遭遇oracle字段大写问题的相关文章

c# 从oracle中查询数据,设置时间参数问题,在线等

问题描述 c# 从oracle中查询数据,设置时间参数问题,在线等 各位大神,小弟刚接触c#时间不长,写了个程序,从界面上datatimepicker中取出时间,然后在c#代码的sql语句中设置时间参数,无论怎么设置要不就查不到数据,要不就是时间格式设置的不对,下面是代码 public DataTable QueryUsedMaterial(string classgroup, string beginTime, string endTime) { string sql_QueryMateria

access数据库查询有数据,asp.net程序查询没有数据,求大神解惑

问题描述 access数据库查询有数据,asp.net程序查询没有数据,求大神解惑 程序调试图: access数据库查询图: 结果图: 很疑惑啊 为什么数据库查询有数据,这个程序查询竟然没数据 解决方案 没人吗 来个大神解决下呗

c/c++-使用 mysql c api 中,预处理查询条件 当过滤字段是字符串时

问题描述 使用 mysql c api 中,预处理查询条件 当过滤字段是字符串时 #include <stdio.h> #include <mysql/mysql.h> #include <string.h> int main(void) { // declares MYSQL * connection = NULL; MYSQL_STMT * stmt = NULL; MYSQL_BIND bind[3]; MYSQL_BIND inbind; // preproce

使用IBM Data Movement Tool从SQL Server/Oracle到DB2的表数据迁移

SQL Server,Oracle 及 DB2 都是目前市场上很多应用程序所使用的关系型数据库,随着应用程序功能的日趋强大,应用程序的版本升级和重新安装都将要求保留原有数据.这样不同类型数据库之间的迁移成了现在应用程序功能中数据迁移部分的重点.目前市场上出现了一些数据库迁移工具(比如:IBM Data Movement Tool).互联网上针对这些工具的介绍大部分都是基于数据对象的整体迁移,也就是在数据结构迁移的基础上进行数据迁移.但是有些应用程序并不需要数据结构的迁移,而是仅仅需要表数据的迁移

让数据迁移变得轻松

不管你称其为数据引力还是数据惯性,从存储基础设施的一个位置移动数据到另一个位置是个艰难的过程.至少,过去是这样.而现在,在合适的工具和基础设施条件下,传统的数据迁移过程中涉及到的许多困难点都可以消除.采用的方法只是提前规划和采用恰当的技术. 为什么数据迁移在过去是个问题 一份最新的Hitachi Data Systems报告详细的整理了来自IDC和451个集团公司的调研.报告表明数据迁移项目占据了大型企业IT项目的60%,并且,几乎一半的IT预算用于运维开销--一个明显的信号即数据迁移消耗了大部

处于同一个事务中的查询数据从哪里来呢?

问题描述 我在使用IBaties操作数据库的时候,在同一个方法中,先添加了数据,然后再去查询这些添加的数据,可是此时事务并没有提交,而且我打印的SQL语句去数据库中查询也没有值,但是,在程序中执行的查询方法所赋予的对象里面却是有值的,那么这个值是从哪里查询出来的呢? 问题补充:chenxiang105 写道 解决方案 这是默认配置好不好 一般是不要改的,你那个属于正常现象了解取数据的模式.内存的速度最快 所以现在内存中找...一般框架搭建起来,配置都是设定好了的 开发过程中不要轻易去改.解决方案

云存储中的数据迁移分析

如今, 由于数据成本的不断飙升.技术管理人员的水平参差不齐等原因,云存储已经成为了各个机构数据存储的重要举措和发展方向.云存储作为云中的一项重要服务, 它通过集群应用.网格技术或分布式文件系统等将各种存储设备通过应用软件集合起来, 对外提供数据存储和业务访问.对于数据存储, 当我们从一个物理环境和单个阵列过渡到完全虚拟化的.高度动态的的存储环境时,需要面对很多问题.而数据迁移作为采用云存储方案中最为基础.关键的步骤.它将历史数据进行清洗,转换, 并装载到新系统,它是保证数据系统平滑升级和更新的重

DTS开发记录(9)-- 数据迁移任务 DataTask

    在DTS开发记录(1)--系统总体结构 一文中,我们已经看到,一次数据传递任务基于一个连接对和一个数据映射进行.但是之前,我们并没有提到"数据迁移任务"这个元素.随着设计的演化,我们发现一个数据任务已经不再仅仅是一个连接对加上一个数据映射了.现在,我们完全有必要把"数据迁移任务"这个概念抽象的表示出来,称之为DataTask.     有了DataTask,我们的数据引擎就可以修改为基于一个指定的DataTask执行.DataTask不仅封装了在其上执行数据

一个完美数据迁移解决方案诞生记

随着数据正在逐渐成为企业的核心资产,数据的存储.迁移成为企业时刻关注的问题.据Gartner统计数据表明,95%的受访企业都 认为数据迁移是个"硬骨头",让人头痛却又不得不面对.根据华为对业界的用户数据迁移行为的深入分析也发现,有接近38%的数据迁移需求源自于用户对IT系统服务器或是存储阵列的设备更新升级;超过11%的数据迁移需求源自于用户不得不对 长时间超负荷运营的IT设备进行维护操作;与此相当的是,也有超过11%的用户为了应对业务激增所面临的压力,必须对IT系统进行性能调优,从而导