myBatis3之SQL映射的XML文件(resultMap元素之三)
----------
高级结果映射之id,result元素
<id property="id" column="post_id"/> <result property="subject" column="post_subject"/>
这些是结果映射最基本内容。id和result都映射一个单独列的值到简单数据类型(字符串,整型,双精度浮点数,日期等)
的单独属性或字段。这两者之间的唯一不同是id表示的结果将是当比较对象实例时用到的标识属性。这帮助来改进整体表现,特别是缓存和嵌入结果映射(也就是联合映射)。
每个都有一些属性:
属性 | 描述 |
property | 映射到列结果的字段或属性。如果匹配的是存在的,和给定名称相同的JavaBeans的属性, 那么就会使用。否则MyBatis将会寻找给定名称的字段。这两种情形你可以使用通常点式的 复杂属性导航。比如,你可以这样映射一些东西:“username”或者映射到一些复杂的东西: “address.street.number”。 |
column | 从数据库中得到的列名,或者是列名的重命名标签。这也是通常和会 传递给 resultSet.getString(columnName)方法参数中相同的字符串。 |
javaType | 一个Java类的完全限定名,或一个类型别名(参加上面内建类型别名的列表)。如果你映射到一个 JavaBean,MyBatis通常可以断定类型。然而,如果你映射到的是HashMap,那么你应该明确 地指定javaType来保证所需的行为。 |
jdbcType | 在这个表格之后的所支持的JDBC类型列表中的类型。JDBC类型是仅仅需要对插入,更新和删除操 作可能为空的列进行处理。这是JDBC的需要,而不是MyBatis的。如果你直接使用JDB 编程, 你需要指定这个类型-但仅仅对可能为空的值。 |
typeHandler | 我们在前面讨论过默认的类型处理器。使用这个属性,你可以覆盖默认的类型处理器。这个属性值 是类的完全限定名或者是一个类型处理器的实现,或者是类型别名。 |
支持的JDBC类型
为了未来的参考,MyBatis通过包含的jdbcType枚举型,支持下面的 JDBC 类型。
BIT | FLOAT | CHAR | TIMESTAMP | OTHER | UNDEFINED |
TINYINT | REAL | VARCHAR | BINARY | BLOB | NVARCHAR |
SMALLINT | DOUBLE | LONGVARCHAR | VARBINARY | CLOB | NCHAR |
INTEGER | NUMERIC | DATE | LONGVARBINARY | BOOLEAN | NCLOB |
BIGINT | DECIMAL | TIME | NULL | CURSOR | |