MyBatis
其他查询操作
创建表:
-- 创建⽂章表
DROP TABLE IF EXISTS articleinfo;
CREATE TABLE articleinfo (
id INT PRIMARY KEY auto_increment,
title VARCHAR ( 100 ) NOT NULL,
content TEXT NOT NULL,
uid INT NOT NULL,
delete_flag TINYINT ( 4 ) DEFAULT 0 COMMENT '0-正常, 1-删除',
create_time DATETIME DEFAULT now(),
update_time DATETIME DEFAULT now()
) DEFAULT charset 'utf8mb4';
-- 插⼊测试数据
INSERT INTO articleinfo ( title, content, uid ) VALUES ( 'Java', 'Java正⽂', 1
);
多表查询
对应model:
SQL中直接查询多个表,把查询的结果放在一个对象即可。
package com.example.demo.model;
import lombok.Data;
import java.util.Date;
@Data
public class ArticleInfo {
private Integer id;
private String title;
private String content;
private Integer uid;
private Integer deleteFlag;
private Date createTime;
private Date updateTime;
//用户相关信息
private String username;
private Integer age;
}
SQL
select ta.*, tb.username,tb.age from articleinfo ta
left join userinfo tb on ta.uid = tb.id
where ta.id = 1
这是一个拼接的SQL查询语句,用于从两个数据表articleinfo
和userinfo
中检索数据。下面是对这个查询语句的逐步解释:
- 选择字段:
select ta.*, tb.username, tb.age
这部分表示选择articleinfo
表中的所有字段(ta.*),以及userinfo
表中的username
和age
字段。ta
和tb
是这两个表的别名,用于简化后续的查询。
- 连接表: