# MyBatis 基础了解

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'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值