#{}和${}:
#{}:预编译
${}:字符串拼接
sql注入:
多参数或者没有getter方法的时候,解决方法:@Param(“名称”)
parameterType和resultType的细节
对于某些基本类型,或者返回值是单一实体类的通常使用resultType
对于多表联查 或者返回值是多个实体类时,使用
resultMap
<result colun="数据库中的列名" property="实体类的属性名">
typeAliases批量定义别名(别名为类名且不区分大小写):
<typeAliases>
<package name="entity路径"/>
<typeAliases>
mapper:
1.把接口和xml文件放在一起
2.名称相同
3.配置
<mappers>
<package name="com.tledu.MybatisTest.mapper"/>
</mappers>
<package name="接口和.xml的包">(接口和.xml文件)
where:
<where>
<if test=""></if>
</where>
where的优点:
1、自动去掉第一1个and
2、当if不成立时自动去掉where
set:
<set>
<if></if>
</set>
set的优点和带来的问题:
1、自动去掉第最后1个逗号
2、当if不成立时自动去掉set,会造成sql语句错误
foreach:
<foreach collection="集合或数组" item="每一项" open="以...开始"
close="以...结束" idex:"下标" separator="以...分割">
</foreach>