标签:name 记录 开启 信息 替换 set 查询语句 就是 存储
#{id}
,该形式是采用数据库预处理形式传入查询参数,在SQL中以?
标示,是一个参数占位符
${column}
字符串替换,Mybatis不会对传入的参数进行转义,缺点是有SQL注入的危险
//常规查询
@Select("select * from user where id = #{id}")
User findById(@Param("id") long id);
@Select("select * from user where name = #{name}")
User findByName(@Param("name") String name);
//Mybatis用${column}进行字符串替换,一句即可替代多句SQL查询语句
@Select("select * from user where ${column} = #{value}")
User findByColumn(@Param("column") String column, @Param("value") String value);
association
关联元素,处理有一个
类型关系,一对一
N+1
问题(你执行了一个单独的 SQL 语句来获取结果的一个列表(就是“+1”)对列表返回的每条记录,你执行一个 select 查询语句来为每条记录加载详细信息(就是“N”)),解决方案,延迟加载
一对多
情况时,可一使用多个accociation标签,标签体内用columnPrefix属性区别不同的resultMap。从Mybatis3.2.3版本开始可以使用resultSets属性,处理这个问题collection
集合
Select查询
ofType
属性用来将JavaBean字段的属性类型和集合存储类型区分开来<cache/>
标签标签:name 记录 开启 信息 替换 set 查询语句 就是 存储
原文地址:https://www.cnblogs.com/luckyCoder/p/12732349.html