Mybatis中 写sql 如果返回类型是一个类的话 我们需要写这个类的全名(类名前面加上包名),这样会显得代码冗余 不好看 我们可以使用别名的方式 给一个类取一个别名 然后直接使用别名即可代替这个类 我们需要在Mybatis-config.xml文件中 添加一个typeAliases标签 在里面设置相应类的别名即可
<typeAliases>
<typeAlias type="com.Jee.entity.User" alias="hello"/>
</typeAliases>
这样就可以把com.Jee.entity包下面的User类用hello代替即可 代码简洁了许多
还有一个resultMap属性 它的作用是什么呢? 我们知道 ORM 要求数据库中的表的字段和Java实体类中的属性名一一对应 那么当我们如果表中的字段和类属性不一致的时候 就会找不到数据库中的字段 从而数据库相关的字段会变成null 这样很不好 我们可以使用resultMap来转化我们表中的字段和实体类属性的映射关系
<select id="001" resultMap="map1" parameterType="int">
select * from user where id = #{id}
</select>
<resultMap id="map1" type="com.Jee.entity.User">
<result column="id" property="id"></result>
<result column="name" property="name"></result>
<result column="psd" property="password"></result>
</resultMap>
这里的column是表中的列(字段) property是实体类中的属性名 我们可以使用resultMap标签中的 result标签 来对他们进行映射 。