文章目录
- 一丶介绍
- 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 mapperPUBLIC "-//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,agefrom user</select><select id="findById" resultType="com.baicaizhi.entity.UserEntity">select*from userwhere 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 {@ResourceUserMapper userMapper;@GetMapping("/findById")public String findById(){UserEntity byId = userMapper.findById(1L);return byId.toString();}
}