学科分类
目录
SSM框架

<select>元素

<select>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发人员。

使用<select>元素执行查询操作非常简单,其示例如下:

<select id="findCustomerById" parameterType="Integer"
    resultType="com.itheima.po.Customer">
    select * from t_customer where id = #{id}
</select>

上述语句中的唯一标识为findCustomerById,它接收一个Integer类型的参数,并返回一个Customer类型的对象。

select元素中,除了上述示例代码中的几个属性外,还有其他一些可以配置的属性,如表1所示。

表1 <select>元素的常用属性

属性 说明
id 表示命名空间中的唯一标识符,常与命名空间组合起来使用。组合后如果不唯一,MyBatis会抛出异常。
parameterType 该属性表示传入SQL语句的参数类的全限定名或者别名。它是一个可选属性,因为MyBatis可以通过TypeHandler推断出具体传入语句的参数。其默认值是unset(依赖于驱动)。
resultType 从SQL语句中返回的类型的类的全限定名或者别名。如果是集合类型,那么返回的应该是集合可以包含的类型,而不是集合本身。返回时可以使用resultType或resultMap之一。
resultMap 表示外部resultMap的命名引用。返回时可以使用resultType或resultMap之一。
flushCache 表示在调用SQL语句之后,是否需要MyBatis清空之前查询的本地缓存和二级缓存。其值为布尔类型(true|false),默认值为false。如果设置为true,则任何时候只要SQL语句被调用,都会清空本地缓存和二级缓存。
useCache 用来控制二级缓存的开启和关闭。其值为布尔类型(true|false),默认值为true,表示将查询结果存入二级缓存中。
timeout 用于设置超时参数,单位为秒。超时时将抛出异常。
fetchSize 获取记录的总条数设定,其默认值是unset(依赖于驱动)。
statementType 用于设置MyBatis使用哪个JDBC的Statement工作,其值为STATEMENT、PREPARED(默认值)或CALLABLE,分别对应JDBC中的Statement、PreparedStatement和CallableStatement。
resultSetType 表示结果集的类型,其值可设置为FORWARD_ONLY、SCROLL_SENSITIVE或SCROLL_INSENSITIVE,它的默认值是unset(依赖于驱动)。
点击此处
隐藏目录