文章目录
- 一丶介绍
- 1.基本信息
- 2.特性
- 二丶代码
- 1.项目结构
- 2.数据表
- 3.引入依赖
- 4.实体类
- 5.mapper
- 6.sql.xml
- 7.Controller
- 8.结果
一丶介绍
1.基本信息
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录
2.特性
- MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架
- MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
- MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old JavaObjects,普通的Java对象)映射成数据库中的记录
- MyBatis 是一个 半自动的ORM(Object Relation Mapping)框架
二丶代码
1.项目结构
2.数据表
CREATE TABLE user
(
id
bigint NOT NULL AUTO_INCREMENT,
name
varchar(255) DEFAULT NULL,
age
int DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
3.引入依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- MYSQL包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 默认就内嵌了Tomcat 容器,如需要更换容器也极其简单-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 测试包,当我们使用 mvn package 的时候该包并不会被打入,因为它的生命周期只在 test 之内-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
4.实体类
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;
/**
* @author Administrator
*/
@Data
@Accessors(chain = true)
@ToString
public class UserEntity {
private Long id;
private String name;
private Integer age;
}
5.mapper
import com.baicaizhi.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author Administrator
*/
@Mapper
@Repository
public interface UserMapper {
UserEntity findById(@Param("id") Long id);
}
6.sql.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.baicaizhi.mapper.UserMapper">
<select id="queryAll" resultType="com.baicaizhi.entity.UserEntity">
select id,
name,
age
from user
</select>
<select id="findById" resultType="com.baicaizhi.entity.UserEntity">
select
*
from user
where id = #{id}
</select>
</mapper>
7.Controller
import com.baicaizhi.entity.UserEntity;
import com.baicaizhi.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author Administrator
*/
@RestController
@Slf4j
public class UserController {
@Resource
UserMapper userMapper;
@GetMapping("/findById")
public String findById(){
UserEntity byId = userMapper.findById(1L);
return byId.toString();
}
}