一、resultMap
用来处理查询结果的字段和实体类里面的属性名不一致的问题
<!-- 处理查询结果的字段和实体类里面的属性名不一致的问题--> <resultMap type="com.gx.domain.User" id="BaseResultMap"> <id property="id" column="uid" javaType="Integer"/> <result property="name" column="uname"/> </resultMap> <!-- type 当前resultMap最后返回的类型 id 当前namespace里面的唯ID extends 继承父节点里面的所有属性 --> <resultMap type="com.gx.domain.User" id="myAddressResultMap" extends="BaseResultMap"> <result property="address" column="add"/> </resultMap> <select id="selectAll" resultMap="BaseResultMap" parameterType="com.gx.domain.User"> select id as uid,name as uname,address as add,birthday as bir from user </select>
二、sql片段
定义部分或整个sql语句,提高代码复用
<!-- 声明一个基础的列 --> <sql id="BaseColumn"> id as uid,name as uname ,address as add,birthday as bir </sql>
上述查询可修改为
<select id="selectAll" resultMap="BaseResultMap" parameterType="com.gx.domain.User"> select <include refid="BaseColumn"></include> from user </select>