easymybatis中多表关联查询

多表关联查询使用的地方不少,好比须要关联第二张表,获取第二张表的几个字段,而后返回给前端。前端

easymybatis的用法以下: 假如咱们须要关联第二张表,而且获取第二张表里的city,address字段。步骤以下:git

  • 在实体类中添加city,address字段,并标记@Transient注解。只要不是主表中的字段都要加上@Transient
@Transient
private String city;
@Transient
private String address;

// getter setter
  • 接下来是查询代码:
Query query = new Query();
// 添加第二张表的字段,跟主表字段一块儿返回
query.addOtherColumns(
	"t2.city"
	,"t2.address"
);
// 左链接查询,主表的alias默认为t
query.join("LEFT JOIN user_info t2 ON t.id = t2.user_id"); 
// 添加查询条件
query.eq("t.username", "张三");

List<TUser> list = dao.find(query);

获得的SQL语句:spring

SELECT 
	t.`id` , t.`username` , t.`state` , t.`isdel` , t.`remark` , t.`add_time` , t.`money` , t.`left_money` 
	, t2.city , t2.address 
FROM `t_user` t LEFT JOIN user_info t2 ON t.id = t2.user_id 
WHERE t.username = ?
LIMIT ?,?

关联了user_info表以后,还能够筛选user_info的数据,也就是针对user_info表进行查询:springboot

query.eq("t2.city","杭州");

关于easymybatis

easymybatis是一个mybatis加强类库,目的为简化mybatis的开发,让开发更高效。mybatis

相关文章
相关标签/搜索