Mybatis
数据库表的字段名称 和 实体类的属性名称 不一样,则不能自动封装数据
*起别名:对不一样的列名起别名,让别名和实体类的属性名一样
*缺点:每次查询都要定义一次别名
*sql片段
*缺点:不灵活
*resultMap:
1.定义<resultMap>标签
2.在<select>标签中,使用resultMap属性替换 resultType属性
id:唯一标识
type:映射的类型,支持别名
* 参数占位符:
1.#{}:会将其替换为?,为了防止SQL注入
2.${}:拼sql。会存在SQL注入问题
3.使用时机:
*参数传递的时候:#{}
*表名或者列名不固定的情况下:${} 会存在SQL注入问题
*参数类型:parameterType:可以省略
*特殊字符处理:
1.转义字符:
2.CDATA区
动态条件查询
*if:条件判断
*test:逻辑表达式
*问题:
*恒等式