resultType
执行 sql 得到 ResultSet 转换的类型,使用类型的完全限定名或别名。java的类型是任意的。 注意如果返回的是集
合,那应该设置为集合包含的类型,而不是集合本身。 resultType 和 resultMap,不能同时使用。
处理方式:
- mybatis执行sql语句,然后mybatis调用类的无参构造方法,创建对象。
- mybatis把ResultSet指定列值赋给同名的属性。

返回简单类型
如果只返回一个值,不需要类封装,可以使用别名
例如
<select id="countStudent" resultType="_int">select count(*) from student</select>
定义自定义类型的别名
在mybatis主配置文件中定义,使用<typeAliases>
和
<typeAliases><!--第一种方法, 一行一个别名--><typeAlias type="com.liangwei.entity.Student" alias="stu" /><!--第二种方法, name是包名,这个包中的所有类,类名就是别名(类名不区分大小写)--><package name="com.liangwei.entity"/></typeAliases>
使用Map封装
建议key 和 value都使用Object
- 返回的key就是列名,value就是对应的值
- 只能返回一行记录,多余一行会错误。 ```xml
==> Preparing: select id, name from student where id=? ==> Parameters: 1002(Integer) <== Columns: id, name <== Row: 1002, 张三 <== Total: 1 {name=张三, id=1002}
<a name="CGKk5"></a># resultMap结果映射,用于指定列名和Java对象的属性对应关系。<br />不能和resultType一起用<br />作用:1. 自定义的列值赋给哪个属性1. 当列名和属性名不一样的时候使用resultMap如何使用:1. 先定义resultMap。在映射文件中使用<resultMap>标签1. 在select标签中,使用resultMap来引用1定义的```xml<!--id: 自定义名称,type:java类型的全限定名称--><resultMap id="studentMap" type="com.liangwei.entity.Student"><!--列名和java属性的关系--><!--column:列名,property:java类型的属性名--><!--主键字段使用id --><id column="id" property="id" /><!-- 非主键字段使用result --><result column="name" property="name"/><result column="age" property="age"/></resultMap><select id="selectAllStudents" resultMap="studentMap">select id, name, email, age from student</select>
