2024年4月1日发(作者:)
1) 在parameterMap 和resultMap 中,字段数据类型是java .
类定义的常量名称。常用的数据类型包括BLOB ,CHAR,CLOB,DATE,
LONGVARBINARY , INTEGER ,NULL ,NUMERIC ,TIME ,
TIMESTAMP 和VARCHAR 等。
2) 对于数据表中NULLBALE 的字段,必须在parameterMap 和
resultMap 中指定字段的数据类型。
3) 对于数据类型是DATE,CLOB 或BLOB 的字段,最好在parameterMap
和resultMap中指定数据类型。
4) 对于二进制类型的数据,可以将LONGVARBINARY 映射成byte[] 。
5) 对于文本类型较大的数据,可以将CLOB 映射成String。
6) Java Bean 必须拥有缺省的构造器(即无参数的构造器)。
7) Java Bean 最好实现Serializable 接口,以备应用的进一步扩展。
dataSource从属于transactionManager节点,用于设定ibatis运行期使用的
DataSource属性
type属性: dataSource节点的type属性指定了dataSource的
实现类型
1. SIMPLE:
SIMPLE是ibatis内置的dataSource实现,其中实现了一个简单
的数据库连接池机制, 对应ibatis 实现类为
DataSourceFactory。
resultClass
resultClass 属性的值是 Java 类的全限定名(即包括类的包名)。
resultClass 属性可以让您指定一个Java 类,根据ResultSetMetaData 将
其自动映射到JDBC 的ResultSet。只要是Java Bean的属性名称和
ResultSet的列名匹配,属性自动赋值给列值。这使得查询 mappedstatement
变得很短。例如:
resultClass=""> SELECT PER_ID as id, PER_FIRST_NAME as firstName, PER_LAST_NAME as lastName, PER_BIRTH_DATE as birthDate, PER_WEIGHT_KG as weightInKilograms, PER_HEIGHT_M as heightInMeters FROM PERSON WHERE PER_ID = #value#
在上面的例子中,Person类拥有属性包括 id ,firstName ,lastName ,
birthDate ,weightInKilograms 和heightInMeters 。每一个属性对应
SQL 查询语句一个列的别名(使用“as ”关键字-标准的SQL 语法)。一般
情况下,列名和属性名称不匹配,就需要使用 “as ”关键字。当执行mapped
statement 时,Person 类将被初始化,从结果集中得到的列值将根据属性名
和列名映射成Person 对象的属性值。正如以前所说,使用resultClass 的自
动映射存在一些限制,无法指定输出字段的数据类型(如果需要的话),无法自
动装入相关的数据(复杂属性),并且因为需要ResultSetMetaData的信息,
会对性能有轻微的不利影响。但使用resultMap ,这些限制都可以很容易解决。


发布评论