文章目录
一、前言
1.1 数据库与表
create database if not exists library;
use library;
drop table if exists book;
create table book(
id int primary key auto_increment, -- 书籍Id
bookName varchar(100) not null, -- 书名
content varchar(1024) not null, -- 书籍内容
authorId int not null, -- 作者Id
`state` int default 1 -- 借出状态,默认为1,未借出
);
drop table if exists author;
create table author(
id int primary key auto_increment, -- 作者Id
authorName varchar(100) not null, -- 作者名字
age int, -- 作者年龄
nationality varchar(250) -- 作者国籍
);
1.2 实体类
//书籍类
@Data
public class Book {
private Integer id;
private String bookName;
private String content;
private Integer authorId;
private Integer state;
private Author author;
}
//作者类
@Data
public class Author {
private Integer id;
private String authorName;
private Integer age;
private String nationality;
private List<Book> books;
}
1.3 MyBatisX 插件
在写 MyBatis 代码的时候有一个非常好用的插件——MyBatisX
。
选择 File->Settings ,然后进行如下操作进行插件的安装
该插件可以实现接口代码和对应的 XML 文件中的代码的跳转
而且写好一个 接口方法后可以在对应的 XML 文件中自动生成代码(出现红下划线,Alt+Enter,选择第一个选项),当然,这样的方式生成的标签不一定是我们想要的
1.4 SQL 日志查看配置
为了查看写好的 SQL ,可以在配置文件中进行配置,如此,在控制台就可以查看 SQL 日志
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
二、多表查询
在前面一篇文章中有讲数据库的增加(insert)、删除(delete)、修改(update)、查询(select)操作
增删改
这三个操作返回的值都是影响的行数
,所以在写 SQL 的 XML 时并不需要指定返回类型,但是如果是查询操作
就需要通过 resultType 来设置返回类型