MyBatis最初是Apache基金会的一个开源项目,名为iBatis。是一款基于Java的持久层框架。
核心优点:
- 支持定制化SQL:MyBatis允许开发者编写自定义的SQL语句,满足复杂的业务需求。
- 存储过程与高级映射:除了支持SQL语句外,MyBatis还支持存储过程以及高级映射功能。
- 消除JDBC代码:MyBatis免除了几乎所有的JDBC代码,以及手动设置参数和获取结果集的工作。
- XML或注解配置:MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO(Plain Ordinary Java Objects,普通的Java对象)为数据库中的记录。
- 动态SQL:MyBatis支持根据不同的条件构造动态SQL语句,提高了代码的复用性。
- 缓存机制:提供一级缓存和二级缓存,减少了对数据库的频繁访问,提高了系统性能。
- 解除SQL与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。
一 入门
1 快速入门
创建Springboot 项目的时候 选择l两个依赖
- MyBatis Framework
- MySQL Driver
创建项目之后要在resources 下面的application.properties 下面配置
#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
#连接数据库的用户名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=1234
创建一个User类
public class User {
private Integer id;
private String name;
private Short age;
private Short gender;
private String phone;
}
创建一个接口
package org.example.springbootmybatisquickstart.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.example.springbootmybatisquickstart.pojo.User;
import java.util.List;
@Mapper//在程序运行的时候框架会自动生成该接口的实现类对象 并且将对象交给IOC容器管理
public interface UserMapper {
//查询全部用户信息
@Select("select * from user")
public List<User> listUser();
}
然后再单元测试中运行
package org.example.springbootmybatisquickstart;
import org.example.springbootmybatisquickstart.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.example.springbootmybatisquickstart.pojo.User;
import java.util.List;
@SpringBootTest
class SpringbootMybatisQuickStartApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void testListUser () {
List<User> userList = userMapper.listUser();
for (User user : userList) {
System.out.println(user);
}
}
}
运行程序然后就会查询出来所有结果
User{id=1, name='白眉鹰王', age=55, gender=1, phone='18800000000'

最低0.47元/天 解锁文章
407

被折叠的 条评论
为什么被折叠?



