myBatis3之SQL映射的XML文件(resultMap元素之三)

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 

 

 

 

你可能感兴趣的:(resultMap)