<sqlMap namespace="****">
在使用MyBatis编写sql文件时,必须用到上面的标签,namespace指“命名空间”,举例说明:
我们编写了一个接口:aaaaDao,那么对应sql文件中的namespace值就可以设置为是“aaaaDao”,这样做可以将Dao接口和sql文件进行绑定,不需要写Dao接口的实现。
<typeAlias alias="***DTO"
type="com.***.dto.***DTO"/>
上面的标签作用简单理解就是取别名,原名是“com.***.dto.***DTO”,复杂又长,为了编写方便,为其取一个别名“***DTO”,简单好记,又易拼写。
<resultMap id="bookingUser"
class="com.***.BookingUser">
<result property="id" column="ID"/>
resultMap标签的作用是将数据表中的字段和对象的属性进行映射,将查询结果填充到对象中。class属性是对象的路径,property是对象的属性名,column是表中的字段名。
SELECT
<include refid="allFields"/>
FROM
user
WHERE
cid LIKE CONCAT('%',#cid#,'%')
LIMIT
1
CONCAT函数用于拼接字符串。
****SqlMapException:
There is no result map named ProductTemplateNew.ProductTemplateNew in this SqlMap.
单元测试时出现如上异常,原因在于mapper.xml文件中,返回值类型用的resultMap,改为resultClass即可。