1.返回值设置为实体Bean最好,也可以使用hashmap等接收,但不方便。
2.在User.xml可以定义传入类的别名,方便快捷,不需要传入类的全名,使用方式如下:
<typeAlias
type="com.someapp.model.User" alias="User"/>
3.通常情况下,mybatis可以自动匹配实体类与数据库表的列名。也可以使用as来使数据库列名与实体类属性名保持一致。
4.可以定义一个ResultMap来接收返回的结果集。主要作用是实体类与数据库表名进行匹配。如下<resultMap
id="userResultMap" type="User">
<resultMap id="userResultMap" type="User">
<id property="id" column="user_id" />
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
引用它的语句使用 resultMap 属性就行了(注意我们去掉了 resultType 属性)。比如:
<select id="selectUsers" parameterType="int" resultMap="userResultMap">
select user_id, user_name, hashed_password
from some_table
where id = #{id}
</select>
5.可以使用sql标签封装部分语句,方便其他地方引用,比如:<sql id="tbUserColumns"> user_id as userId, user_name as userName, </sql>
此时就可以在该xml的其他位置引用该sql:
select <include refid="tbUserColumns" />