目录
什么是MyBatis
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
MyBatis快速入门
使用MyBatis查询所有用户数据
1.准备工作(创建Springboot工程、数据库表user、实体类User)
勾选Web-->Spring Web
勾选SQL-->Mybatis Framework 和 MySQL Driver
package com.gzist.bean;
public class User {
private String id;
private String name;
private Integer sex;
private String grade;
public User() {
}
public User(String id, String name, Integer sex, String grade) {
this.id = id;
this.name = name;
this.sex = sex;
this.grade = grade;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
@Override
public String toString() {
return "User{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", sex=" + sex +
", grade='" + grade + '\'' +
'}';
}
}
2.引入MyBatis的相关依赖,配置MyBatis
pom.xml依赖配置
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--Mybatis的起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<!--
Mysql驱动包,最新版本
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
-->
<--上一个版本的驱动包,用的更多-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Springboot单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
在配置文件resources-->application.properties 配置数据库的连接信息,基本固定
//驱动类名称 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver //数据库连接URL spring.datasource.url=jdbc:mysql://localhost:3306/stu //连接数据库用户 spring.datasource.username=root //连接数据库的密码 spring.datasource.password=12345678
3.编写SQL语句(注解/XML)
创建一个MyBatis接口,一般放在mapper包下
通过@Select、@Insert、@Delete、@Update注解配合SQL语句完成增删改查
package com.gzist.mapper;
import com.gzist.bean.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper //该注解表示这是一个mapper接口文件,在运行时会自动生成该接口的实现类对象,并且该对象交给IOC容器管理,引用时使用@Autowired注入
public interface UserMapper {
@Select("SELECT * FROM user")
public List<User> userList();
}
在test-->java-->com.gzist下创建测试类
package com.gzist;
import com.gzist.bean.User;
import com.gzist.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest //springboot整合单元测试的注解
class SpringbootGzist1ApplicationTests {
@Autowired//依赖注入
private UserMapper userMapper;
@Test
void userSelect() {
List<User> userList1 = userMapper.userList();
userList1.stream().forEach(user -> {
System.out.println(user);
});
}
}
结果: