开发时,我们经常要和数据库进行交互,可选的开源架构和技术挺多。从参与的几个项目来看,ibatis,或者Mybatis的选择比较多。
这里需要提醒的一个问题是访问数据库的结果集的接收。
如:
<select id="getUndownFiles" parameterClass="map" resultClass="java.util.HashMap">
配置了HashMap的resultClass。那么数据库的记录返回时就会根据这一设置进行结果集的转化
每条记录都是一个HashMap,如果有多条记录,那么返回的记录就是一个List,里面装的都是Hashmap
如果每条记录包含了多列,那么就相当于这条记录对应的HashMap有多个Key和Value
类似于map.put(“key1”,“value1”);进行了很多操作。每一个key-value构成了entity。
还有一个问题,就是如果数据库的查询字段是number型的,比如select count(*) as total from 。。。
那么map包含的这个entity里的value就会在返回数据时进行默认的类型转换,一般会转化为Integer。
因为我们在ibatis调用时是用的java方法,类似于queryObjectList(........)
我们经常会这样接收返回的内容 List<Map<String,String>> list = new ...........;
使用时如果这样:
1 list.get(0).get("key"),编译器需要我们强制转化成String,这个时候就会发生类型转换异常
2 如果这样:Map m = list.get(0); 那么就可以Integer it = (Integer)m.get("key");
对于第一种情况可能是编译器的问题,因为list里面的map内容已经声明了。对于2,拿到了m,就是数据库
最原始的内容,进行正确转换后就可以了。
可以这么理解:list只是一个实例,指向了内存中从数据库里加载的数据内容。
相关推荐
在这个过程中,Kettle会将文本文件中的每一行数据映射到数据库表的列,根据预定义的映射关系进行数据转换。对于给定的2006.csv文件,其内容包含学号、姓名和其他评分项,Kettle会解析这些字段并创建相应的XML输出。...
-- 将日期字段转换为字符 SELECT TO_CHAR(date_column, 'YYYY-MM-DD') FROM table_name; -- 将字符字段转换为日期 SELECT TO_DATE(char_column, 'YYYY-MM-DD') FROM table_name; ``` `TO_NUMBER`函数则用于将字符...
- **日期格式化**:通过`TO_CHAR(date, 'YYYYMMDD')`将日期字段转换为字符串形式,便于拼接操作。这样可以确保即使日期不同但其他字段相同的情况也被视为同一组数据。 ### 4. 总结 通过上述方法,我们可以有效地...
JavaScript在处理数据时,经常会遇到需要与数据库交互的情况,其中包括转换数据库中的DateTime字段类型。DateTime字段通常存储日期和时间信息,而JavaScript中的日期处理则有其特定的方式。在这篇文章中,我们将探讨...
本文将深入探讨在不同数据库系统间进行表结构转换,特别是针对varchar类型的字段长度处理,这在Oracle到Greenplum(GP)、Oracle到MySQL的数据迁移过程中尤为重要。 首先,让我们关注标题提到的“GP数据库表结构转...
### Oracle数据库字段类型详解 #### 字符串类型 **Char** `CHAR` 数据类型用于存储固定长度的字符值。它可以包含1至2000个字符。如果没有明确规定长度,默认长度为1。当向`CHAR` 类型的字段赋值时,如果实际值...
数据库转换是一个常见的任务,特别是在企业级应用中,由于业务需求、性能优化或技术栈的变更,可能需要将数据从一个数据库系统迁移到另一个。本篇主要讨论DB2 V9与Oracle之间的差异,以帮助理解和处理迁移过程中可能...
4. **元数据获取**:插件需要能获取神通数据库的表结构、字段信息等元数据,以供Kettle使用。 5. **错误处理和日志记录**:为了确保在出现问题时能追踪和调试,插件应具备良好的错误处理机制和日志记录功能。 通过...
在Oracle数据库中,数据字段的长度是预定义的,用于限制可以存储在该字段中的最大字符或字节数。当尝试插入或更新的数据超过了该字段的长度限制时,Oracle会抛出错误`ORA-01438`,提示“value larger than specified...
描述中提供的步骤是安全的转换方法,首先通过更新`workflow_billfield`表来改变字段定义,然后在实际数据表`formtable_main_39`中执行相应的SQL语句进行字段转换。 对于从更高精度(4位小数)转换为更低精度(2位...
在Oracle数据库环境中,有时我们需要处理包含非数字字符的字段,并将其转换为数字进行计算或统计。根据提供的文件信息,本文将详细介绍如何实现“oracle非数字合计”,即将字段中含有汉字或其他非数字字符的数据自动...
- **对象视图到数据库关系视图的映射**:将对象视图中的元素和属性映射到数据库表中的字段。这一步骤通常涉及到规范化设计,确保数据结构的合理性。 #### 数据同步与交互 在实现了XML与数据库之间的转换后,还需要...
5. **数据类型转换**:由于Oracle和MySQL支持的数据类型有所不同,转换工具需要能够识别并自动转换这些类型,如NUMBER在Oracle中对应MySQL的DECIMAL或FLOAT。 6. **表结构转换**:转换工具应能识别Oracle的表结构,...
总结起来,这个项目实现了将Java生成的二维码图片通过Oracle触发器转换为BLOB,并存储到数据库表中,这在需要在数据库中存储和检索二维码图像的场景下非常有用。同时,这也展示了Java和Oracle数据库的集成能力,以及...
- `text`类型的字段转换为`varchar2(4000)`。 - `varchar`转换为`varchar2`。 - `tinyint(1)`变为`number(1)`。 - `int(4)`变为`number(4)`。 - **特殊选项处理**: - 移除MySQL中的`auto_increment`特性。 -...
- 使用 `TO_NUMBER` 转换 `LONG` 类型的字段可能会导致超出整数范围的错误。 - 若字段中含有小数,则不应使用 `TO_NUMBER`,可尝试通过加0.0的方式转换。 示例: ```sql SELECT field_name + 0.0 AS numeric_field ...
- **字段类型**:常用字段类型包括`CHAR`、`VARCHAR2`、`NUMBER(M,N)`和`DATE`。 - **字段排序**:建议先放置较小的不为空字段,后放可能为空的字段。 - **字段约束**:创建时可添加约束,如`UNIQUE`和`PRIMARY KEY`...
这些字段类型各有其特性和用途,下面我们将详细探讨它们,并通过一个简单的示例来展示如何在Oracle数据库中对这些类型进行读写操作。 1. Long类型: Long数据类型用于存储大文本数据,它最多可以存储约2GB的数据。...
在Oracle数据库中,`TO_NUMBER`函数是一种非常重要的数据类型转换工具,用于将字符串转换为数值类型。这个函数主要用于处理包含数字的字符数据,并且可以处理格式化输入,使其能够正确解析货币、百分比或其他格式的...
### List 数据字段排序不关注数据库,直接排序 在 Java 开发过程中,经常需要对 List 集合中的数据进行排序处理。本篇文章介绍一种方法,该方法能够在内存中直接对 List 对象的数据字段进行排序,而无需直接操作...