mybatis基本介绍及使用(3)

一.mybatis中模糊查询的方法:

  1. 直接传参法:在java传参时进行拼接 -- %keyword%
  2. mysql内置函数:concart('%',#{keyword},'%') -- 拼接sql字符串
  3. bind标签
  4. like "%"#{keyword}"%" 或者 like "%${keyword}%"(不能防止sql注入攻击)

通过注解时模糊查询的方法

  1. 直接传参法
  2. select * from blog where title like '%'||#{v}||'%'
  3. select * from blog where title like CONCAT('%',#{v},'%')

二.表字段与实体属性不同时

  1. 自动映射(resultType):表字段使用别名
  2. 手动映射(resultMap):单表时,可以省略其它表字段与实体属性相同的,只写不同的<result/>

三.关联查询(级联查询):两表连接inner join/left join

select o.id,o.name,o.price,u.username from order o left join user u on o.id=u.id

  • 1.一个对象将另一对象作为属性
  • 2.自定义pojo类,可以用继承关系,包含结果集的字段

注意:

  • 级联查询时:需要手动映射(resultMap),可省略相同的,所有<result/>都必须给出; 多表连接时,不可省略相同的
  • 一对一:associate 一对多:collection
原文地址:https://www.cnblogs.com/itzlg/p/10699108.html