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

相關文章
相關標籤/搜索