创建数据库
手动创建 mybatis_plus 数据库即可。
创建user表
DROP TABLE IF EXISTS user;
CREATE TABLE user
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT(11) NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
真实开发中,还有version(乐观锁),deleted(逻辑删除),gmt_create,gmt_modified
插入数据
INSERT INTO user VALUES
(1,'lxh1',18,'158111@qq.com'),
(2,'lxh2',19,'158222@qq.com'),
(3,'lxh3',20,'158333@qq.com'),
(4,'lxh4',21,'158444@qq.com'),
(5,'lxh5',22,'158555@qq.com');
创建SpringBoot项目
不需要勾选依赖,我们自己在pom.xml加入就可以了,我这里习惯性勾上了。尽量不要同时引入mybatis和mybatis-plus
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
配置数据库连接
在application.properties中配置数据库信息
我使用的是mysql8.0,理论上这个配置在任何版本都能用。
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
测试数据库连接
在测试类中添加以下测试,运行这个方法,不报错则证明连接成功。
@Autowired
DataSource dataSource;
@Test
void contextLoads() {
System.out.println(dataSource);
}
对比
传统的mybatis,pojo-dao(连接mysql,配置mapper.xml文件)-service-controller
使用mybatis-plus,pojo-mapper接口-使用
快速使用
新建pojo.User,即在pojo层中新建一个User类
新建mapper.UserMapper,继承BaseMapper。
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
@Mapper
public interface UserMapper extends BaseMapper {
}
测试使用
在测试类中注入userMapper,试着获取该表全部数据,这里的打印为函数式编程,无需过多理会也行。
@Autowired
private UserMapper userMapper;
@Test
public void test(){
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
sql谁帮我们写的? mybatis-plus
方法哪里来的? mybatis-plus,我们只需要继承即可。
版权属于:乐心湖's Blog
本文链接:https://xn2001.com/archives/404.html
声明:博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!